Function at 0x100098c0
Capabilities:
Terminate thread

Disassembly:
cmp dword [0x100d10c4], 0
jne 0x100098cc
xor eax, eax
ret
push esi
push edi
call fcn.10020380
call fcn.10006c00
mov eax, dword [0x100d10c4]
cmp dword [eax + 0xcc], 0
je 0x1000998d
mov dword [eax + 0xc8], 0x19
mov eax, dword [0x100d10c4]
mov dword [eax + 0xcc], 0
mov eax, dword [0x100d10c4]
mov ecx, dword [eax + 0xc8]
mov eax, dword [0x100d10c4]
dec ecx
mov dword [eax + 0xc8], ecx
test ecx, ecx
jle 0x10009958
mov esi, dword [sym.imp.KERNEL32.dll_Sleep]
nop dword [eax]
nop dword [eax + eax]
mov eax, dword [0x100d10c4]
push dword [eax + 0xb4]
call esi
mov eax, dword [0x100d10c4]
mov ecx, dword [eax + 0xc8]
mov eax, dword [0x100d10c4]
dec ecx
mov dword [eax + 0xc8], ecx
test ecx, ecx
jg 0x10009930
mov eax, dword [0x100d10c4]
cmp dword [eax + 0xc8], 0
jne 0x1000997c
mov eax, dword [0x100d10c4]
push 0x4d2
push dword [eax + 0xd0]
call dword [sym.imp.KERNEL32.dll_TerminateThread]
mov eax, dword [0x100d10c4]
push dword [eax + 0xd0]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, 0x100d1208
call fcn.10004b50
mov edi, eax
test edi, edi
je 0x100099bc
nop dword [eax]
push edi
mov ecx, 0x100d1208
call fcn.10004bb0
push edi
mov esi, eax
call fcn.10001fe0
add esp, 4
mov edi, esi
test esi, esi
jne 0x100099a0
mov eax, dword [0x100d10c4]
add eax, 0xc
push eax
call dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
mov eax, dword [0x100d10c4]
mov ecx, dword [eax + 0xb30]
test ecx, ecx
je 0x100099e5
mov eax, dword [ecx]
push 1
call dword [eax]
mov eax, dword [0x100d10c4]
mov dword [eax + 0xb30], 0
mov eax, dword [0x100d10c4]
mov ecx, dword [eax + 0xb2c]
test ecx, ecx
je 0x10009a0c
push ecx
call fcn.10045eaa
mov eax, dword [0x100d10c4]
add esp, 4
mov dword [eax + 0xb2c], 0
push 0
push dword [0x100d10d0]
call fcn.10001960
mov eax, dword [0x100d10c4]
push 0x10003ad0
mov esi, dword [eax + 0x115c]
mov edi, dword [eax + 0x1160]
call fcn.10003ff0
push esi
push edi
push eax
push 0xe8
call sym.D2ESRutils.dll_Intercept
mov eax, dword [0x100d10c4]
push 0x100038d0
mov esi, dword [eax + 0xdec]
mov edi, dword [eax + 0xdf0]
call fcn.10003ff0
push esi
push edi
push eax
push 0xe8
call sym.D2ESRutils.dll_Intercept
mov eax, dword [0x100d10c4]
push 0x100036d0
mov esi, dword [eax + 0xd10]
mov edi, dword [eax + 0xd14]
call fcn.10003ff0
push esi
push edi
push eax
push 0xe9
call sym.D2ESRutils.dll_Intercept
mov eax, dword [0x100d10c4]
add esp, 0x44
mov esi, dword [eax + 0xc34]
mov edi, dword [eax + 0xc38]
push 0x10003760
call fcn.10003ff0
push esi
push edi
push eax
push 0xe8
call sym.D2ESRutils.dll_Intercept
mov eax, dword [0x100d10c4]
push 0x1000a870
mov esi, dword [eax + 0x1238]
mov edi, dword [eax + 0x123c]
call fcn.10003ff0
push esi
push edi
push eax
push 0xe8
call sym.D2ESRutils.dll_Intercept
mov eax, dword [0x100d10c4]
push 0x1000a8b0
mov esi, dword [eax + 0x1314]
mov edi, dword [eax + 0x1318]
call fcn.10003ff0
push esi
push edi
push eax
push 0xe8
call sym.D2ESRutils.dll_Intercept
mov eax, dword [0x100d10c4]
push 0x1000a990
mov esi, dword [eax + 0x13f0]
mov edi, dword [eax + 0x13f4]
call fcn.10003ff0
add esp, 0x40
push esi
push edi
push eax
push 0xe8
call sym.D2ESRutils.dll_Intercept
mov eax, dword [0x100d10c4]
push 0x1000a860
mov esi, dword [eax + 0x14cc]
mov edi, dword [eax + 0x14d0]
call fcn.10003ff0
push esi
push edi
push eax
push 0xe8
call sym.D2ESRutils.dll_Intercept
mov eax, dword [0x100d10c4]
push 0x1000ac50
mov esi, dword [eax + 0x15a8]
mov edi, dword [eax + 0x15ac]
call fcn.10003ff0
push esi
push edi
push eax
push 0xe8
call sym.D2ESRutils.dll_Intercept
mov edi, dword [0x100d10c4]
add esp, 0x38
cmp dword [edi + 0xb54], 0
je 0x10009c19
mov esi, dword [edi + 0xfa4]
mov edi, dword [edi + 0xfa8]
push 0x10003610
call fcn.10003ff0
push esi
push edi
push eax
push 0xe8
call sym.D2ESRutils.dll_Intercept
mov eax, dword [0x100d10c4]
push 0x10003620
mov esi, dword [eax + 0xec8]
mov edi, dword [eax + 0xecc]
call fcn.10003ff0
push esi
push edi
push eax
push 0xe9
call sym.D2ESRutils.dll_Intercept
mov eax, dword [0x100d10c4]
push 0x100037b0
mov esi, dword [eax + 0x1080]
mov edi, dword [eax + 0x1084]
call fcn.10003ff0
push esi
push edi
push eax
push 0xe9
call sym.D2ESRutils.dll_Intercept
add esp, 0x3c
push str.D2ESRutils__Unloaded.
call sym.D2ESRutils.dll_GamePrintInfo
mov eax, dword [0x100d10cc]
add esp, 4
pop edi
pop esi
test eax, eax
je 0x10009c3c
push 8
push eax
call fcn.10045e93
add esp, 8
mov eax, dword [0x100d10c8]
mov dword [0x100d10cc], 0
test eax, eax
je 0x10009c5a
push 0x20
push eax
call fcn.10045e93
add esp, 8
mov eax, dword [0x100d10c0]
mov dword [0x100d10c8], 0
test eax, eax
je 0x10009c97
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x10009c82
push ecx
call fcn.10045eaa
mov eax, dword [0x100d10c0]
add esp, 4
push 0x10
push eax
call fcn.10045e93
add esp, 8
mov dword [0x100d10c0], 0
mov eax, dword [0x100d10c4]
test eax, eax
je 0x10009ccd
mov ecx, dword [eax + 0x48]
test ecx, ecx
je 0x10009cb5
push ecx
call fcn.10045eaa
mov eax, dword [0x100d10c4]
add esp, 4
push 0x15b0
push eax
call fcn.10045e93
add esp, 8
mov dword [0x100d10c4], 0
mov eax, 1
ret