int __stdcall FGetLockHandle(struct CMethUtil *a1, wchar_t *Str, unsigned __int32 a3, const unsigned __int16 *a4, struct auto_ref_handle *a5) { signed int v5; // eax@1 int result; // eax@2 char v7; // [sp+0h] [bp-54h]@1 union _LARGE_INTEGER v8; // [sp+40h] [bp-14h]@1 int v9; // [sp+50h] [bp-4h]@1 CParseLockTokenHeader::CParseLockTokenHeader((CParseLockTokenHeader *)&v7, a1, a4); v9 = 0; CParseLockTokenHeader::SetPaths((CParseLockTokenHeader *)&v7, Str, 0); v5 = CParseLockTokenHeader::HrGetLockIdForPath((CParseLockTokenHeader *)&v7, Str, a3, &v8, 0); v9 = -1; if ( v5 >= 0 ) { CParseLockTokenHeader::~CParseLockTokenHeader((CParseLockTokenHeader *)&v7); result = FGetLockHandleFromId(a1, v8, Str, a3, a5); } else { CParseLockTokenHeader::~CParseLockTokenHeader((CParseLockTokenHeader *)&v7); result = 0; } return result; }