Function at 0x40ac11
Capabilities:
Terminate thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4abd6e
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x10
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
mov dword [eax], 0x4afe74
mov dword [ebp - 4], 0xc
mov ecx, dword [ebp - 0x1c]
add ecx, 0x55c
push ecx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [ebp - 0x1c]
cmp dword [edx + 0x590], 0
je 0x40ac78
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x590]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [ebp - 0x1c]
mov dword [edx + 0x590], 0
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x594], 0
je 0x40ac96
push 0
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 0x594]
push edx
call dword [sym.imp.KERNEL32.dll_TerminateThread]
mov eax, dword [ebp - 0x1c]
add eax, 0x55c
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [ebp - 0x1c]
add ecx, 0x55c
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
mov edx, dword [ebp - 0x1c]
add edx, 0x574
push edx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
call fcn.0045c138
mov ecx, eax
call fcn.0045aebd
mov eax, dword [ebp - 0x1c]
add eax, 0x574
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [ebp - 0x1c]
add ecx, 0x574
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
push 0x4c41a0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x40ad10
mov edx, dword [ebp - 0x14]
push edx
call fcn.00432c53
add esp, 4
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x40ad2d
mov eax, dword [ebp - 0x10]
push eax
call fcn.00432c53
add esp, 4
push 0x4c41ac
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
je 0x40ad4d
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.00432c53
add esp, 4
call fcn.00427a6d
mov edx, dword [ebp - 0x1c]
mov dword [edx + 0x3b4], 0
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x1c]
add ecx, 0x5a4
call fcn.00434dd0
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x1c]
add ecx, 0x598
call fcn.00416bd0
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x1c]
add ecx, 0x550
call fcn.00434dd0
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x1c]
add ecx, 0x544
call fcn.00416a90
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x1c]
add ecx, 0x3b8
call fcn.0041adc4
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x1c]
add ecx, 0x398
call fcn.00434dd0
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x1c]
add ecx, 0x370
call fcn.00409a9f
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x1c]
add ecx, 0x318
call fcn.00403ef0
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x1c]
add ecx, 0x2f0
call fcn.004083e9
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x1c]
add ecx, 0x2d0
call fcn.00407399
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x1c]
add ecx, 0x19c
call fcn.0040306c
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x1c]
add ecx, 0x20
call fcn.0040a2e6
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x1c]
call fcn.00403ea0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret