Function at 0x419db0
Capabilities:
Terminate thread

Disassembly:
push ebx
mov ebx, dword [sym.imp.KERNEL30.dll_WaitForSingleObject]
push esi
mov esi, ecx
push edi
cmp dword [esi + 0xe84], 0
mov dword [esi + 0x100c], 1
je 0x419e38
lea edi, [esi + 0xf44]
push edi
call dword [sym.imp.KERNEL30.dll_EnterCriticalSection]
push ecx
lea ecx, [esi + 0xf40]
call fcn.0045eba0
push edi
call dword [sym.imp.KERNEL30.dll_LeaveCriticalSection]
mov eax, dword [esi + 0xe84]
test eax, eax
je 0x419e2f
push 0x3e8
push eax
call ebx
cmp eax, 0x102
je 0x419e2f
test eax, eax
je 0x419e19
push 0
push dword [esi + 0xe84]
call dword [sym.imp.KERNEL30.dll_TerminateThread]
push dword [esi + 0xe84]
call dword [sym.imp.KERNEL30.dll_CloseHandle]
mov dword [esi + 0xe84], 0
cmp dword [esi + 0xe84], 0
jne 0x419dd4
cmp word [esi + 0xf26], 0
je 0x419e70
cmp dword [esi + 0xf28], 0
je 0x419e70
push 0
push dword [esi + 0xf18]
call ebx
test eax, eax
jne 0x419e70
lea ecx, [esi + 0xf18]
call fcn.0045af90
push dword [esi + 0xf18]
call dword [sym.imp.KERNEL30.dll_ReleaseMutex]
lea ecx, [esi + 0xbec]
call fcn.0045ed00
lea ecx, [esi + 0xce0]
call fcn.0045ed00
lea ecx, [esi + 0xca4]
call fcn.0045ed00
lea ecx, [esi + 0xc6c]
call fcn.0045ed00
lea ecx, [esi + 0xc88]
call fcn.0045ed00
lea ecx, [esi + 0xde8]
call fcn.0045ed00
lea ecx, [esi + 0xe38]
call fcn.0045ed00
lea ecx, [esi + 0xc50]
call fcn.0045ed00
lea ecx, [esi + 0xc3c]
call fcn.0045ed00
lea ecx, [esi + 0xc14]
call fcn.0045ed00
lea ecx, [esi + 0xc28]
call fcn.0045ed00
lea ecx, [esi + 0xc00]
call fcn.0045ed00
lea ecx, [esi + 0xccc]
call fcn.0045ed00
lea ecx, [esi + 0xb98]
call fcn.0045ed00
lea ecx, [esi + 0xbb4]
call fcn.0045ed00
lea ecx, [esi + 0xbd0]
call fcn.0045ed00
lea ecx, [esi + 0x1050]
call fcn.0045ed00
lea ecx, [esi + 0x10c0]
call fcn.0045ed00
lea ecx, [esi + 0x11ac]
mov dword [esi + 0x11c4], 0
mov dword [esi + 0x11c0], 0
call fcn.0045ed00
lea ecx, [esi + 0x11d4]
call fcn.0045ea40
lea ecx, [esi + 0x1114]
mov dword [esi + 0x112c], 0
mov dword [esi + 0x1128], 0
call fcn.0045ed00
lea ecx, [esi + 0x113c]
call fcn.0045ea40
lea ecx, [esi + 0x1160]
mov dword [esi + 0x1178], 0
mov dword [esi + 0x1174], 0
call fcn.0045ed00
lea ecx, [esi + 0x1188]
call fcn.0045ea40
lea ecx, [esi + 0x11f8]
mov dword [esi + 0x1210], 0
mov dword [esi + 0x120c], 0
call fcn.0045ed00
lea ecx, [esi + 0x1220]
call fcn.0045ea40
lea ecx, [esi + 0x1244]
mov dword [esi + 0x125c], 0
mov dword [esi + 0x1258], 0
call fcn.0045ed00
lea ecx, [esi + 0x126c]
call fcn.0045ea40
lea ecx, [esi + 0x1290]
mov dword [esi + 0x12a8], 0
mov dword [esi + 0x12a4], 0
call fcn.0045ed00
lea ecx, [esi + 0x12b8]
call fcn.0045ea40
mov eax, dword [esi + 0x12ec]
lea ecx, [esi + 0x12ec]
call dword [eax + 0xc]
lea ecx, [esi + 0xd84]
call fcn.0041b260
lea ecx, [esi + 0xd24]
call fcn.0041b260
lea ecx, [esi + 0xd54]
call fcn.0041b260
mov eax, dword [esi + 0xe30]
test eax, eax
je 0x41a075
push eax
call fcn.00487954
add esp, 4
mov dword [esi + 0xe30], 0
lea eax, [esi + 0xe0c]
mov dword [eax], eax
lea ecx, [esi + 0xf64]
mov dword [eax + 4], eax
mov dword [eax + 8], 0
lea eax, [esi + 0xe18]
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], 0
lea eax, [esi + 0xe24]
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], 0
mov dword [esi + 0xe34], 0
call fcn.0045ea40
lea ecx, [esi + 0xe50]
call fcn.0041af70
lea ecx, [esi + 0xf88]
call fcn.0045ea40
lea ecx, [esi + 0x7c0]
call fcn.0045b610
lea ecx, [esi + 0x7e0]
call fcn.0045b610
push dword [esi + 0x84c]
call fcn.00487954
add esp, 4
mov dword [esi + 0x84c], 0
mov ecx, esi
call fcn.00415c50
pop edi
pop esi
mov dword [0x4e02f8], 0
mov eax, 1
pop ebx
ret