Function at 0x10036eb0
Capabilities:
Check mutex on windows

Disassembly:
sub esp, 0x144
mov eax, dword [0x100af208]
push ebx
mov ebx, dword [sym.imp.tier0_s.dll__SpewMessage]
push ebp
mov ebp, dword [sym.imp.tier0_s.dll__SpewInfo]
mov dword [esp + 0x148], eax
test dword [esp + 0x150], 0xfffffc00
push esi
push edi
mov edi, dword [sym.imp.tier0_s.dll_SetInAssert]
je 0x10036fb1
call dword [sym.imp.tier0_s.dll_IsInAssert]
test al, al
jne 0x10036fb1
push 1
call edi
push 0x1c
push str..gid.cpp
push 2
call ebp
push str.GID_Box_ID_overflow
lea eax, [esp + 0x24]
push str.Assertion_Failed:__s
push eax
call fcn.100028f0
push eax
push 0x1008d3bc
call ebx
add esp, 0x24
mov esi, eax
call dword [sym.imp.tier0_s.dll_CallFlushLogFunc]
call dword [sym.imp.tier0_s.dll_CallAssertFailedNotifyFunc]
test esi, esi
jne 0x10036f6b
call dword [sym.imp.tier0_s.dll_ShouldUseNewAssertDialog]
test al, al
je 0x10036f6b
push str.GID_Box_ID_overflow
lea ecx, [esp + 0x14]
push str.Assertion_Failed:__s
push ecx
call fcn.100028f0
push eax
push 0x1c
push str..gid.cpp
call dword [sym.imp.tier0_s.dll_DoNewAssertDialog]
add esp, 0x18
test al, al
je 0x10036f6b
int3
mov al, byte [0x100b132a]
test al, al
jne 0x10036faa
call dword [sym.imp.tier0_s.dll_Plat_IsInDebugSession]
test al, al
jne 0x10036faa
push str.GID_Box_ID_overflow
lea edx, [esp + 0x14]
push str.Assertion_Failed:__s
push edx
call fcn.100028f0
push 0x1c
push str..gid.cpp
push eax
call dword [sym.imp.tier0_s.dll_WriteMiniDump]
add esp, 0x18
mov byte [0x100b132a], 1
push 0
call edi
add esp, 4
mov al, byte [esp + 0x15c]
test al, al
je 0x100370c2
cmp word [0x100b131c], 0x10
jb 0x10037066
call dword [sym.imp.tier0_s.dll_IsInAssert]
test al, al
jne 0x10037066
push 1
call edi
push 0x33
push str..gid.cpp
push 2
call ebp
push str.Assertion_Failed:_16___g_unGIDProcessID
push 0x1008d3bc
call ebx
add esp, 0x18
mov esi, eax
call dword [sym.imp.tier0_s.dll_CallFlushLogFunc]
call dword [sym.imp.tier0_s.dll_CallAssertFailedNotifyFunc]
test esi, esi
jne 0x10037030
call dword [sym.imp.tier0_s.dll_ShouldUseNewAssertDialog]
test al, al
je 0x10037030
push str.Assertion_Failed:_16___g_unGIDProcessID
push 0x33
push str..gid.cpp
call dword [sym.imp.tier0_s.dll_DoNewAssertDialog]
add esp, 0xc
test al, al
je 0x10037030
int3
mov al, byte [0x100b1329]
test al, al
jne 0x1003705f
call dword [sym.imp.tier0_s.dll_Plat_IsInDebugSession]
test al, al
jne 0x1003705f
push 0x33
push str..gid.cpp
push str.Assertion_Failed:_16___g_unGIDProcessID
call dword [sym.imp.tier0_s.dll_WriteMiniDump]
add esp, 0xc
mov byte [0x100b1329], 1
push 0
call edi
add esp, 4
movzx eax, word [0x100b131c]
push eax
push str.SteamGIDProcessCountMutex__d
lea ecx, [esp + 0x118]
push 0x40
push ecx
call dword [sym.imp.vstdlib_s.dll_Q_snprintf]
add esp, 0x10
lea edx, [esp + 0x110]
push edx
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov dword [0x100b1318], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x100370c2
mov eax, dword [0x100b1318]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
inc word [0x100b131c]
jmp 0x10036fc0
mov ecx, dword [esp + 0x158]
push 0
push ecx
mov ecx, 0x100aade4
call fcn.100369d0
movzx eax, word [0x100b131c]
cdq
push edx
push eax
mov ecx, 0x100aade4
call fcn.10036b00
mov al, byte [esp + 0x15c]
test al, al
pop edi
pop esi
pop ebp
pop ebx
push 0
je 0x1003710d
call fcn.10076a4a
add esp, 4
sub eax, 0x41d65880
push 0
push eax
jmp 0x1003710f
push 0
mov ecx, 0x100aade4
call fcn.10036c30
push 0
push 0
mov ecx, 0x100aade4
call fcn.10036d80
mov ecx, dword [esp + 0x140]
call fcn.10076182
add esp, 0x144
ret