Function at 0x4125d0
Capabilities:
Terminate thread

Disassembly:
mov eax, 0x1110
call fcn.004524d0
push ebx
push esi
mov esi, ecx
xor ebx, ebx
cmp dword [esi + 0x5d0c], ebx
jne 0x41264a
call fcn.00412820
mov eax, dword [esi + 0x5d24]
cmp eax, ebx
je 0x412618
push eax
call dword [sym.imp.KERNEL32.dll_SetEvent]
push ebx
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [esi + 0x5d24]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esi + 0x5d24], ebx
mov ecx, dword [esi + 0x5f94]
cmp ecx, ebx
je 0x412813
call fcn.00448c80
mov ecx, dword [esi + 0x5f94]
cmp ecx, ebx
je 0x41263b
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esi + 0x5f94], ebx
pop esi
pop ebx
add esp, 0x1110
ret
mov eax, dword [esi + 0x5d00]
push ebp
sub eax, 2
push edi
je 0x41265c
sub eax, 4
jne 0x4126c4
lea ebp, [esi + 0x5f70]
push ebp
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [esi + 0x5d18], ebx
jne 0x4126b6
cmp dword [esi + 0x5d0c], ebx
je 0x4126b6
mov ecx, 0x444
xor eax, eax
lea edi, [esp + 0x10]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x10]
mov ecx, esi
push eax
mov dword [esp + 0x14], 0xd6d8
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], 0x10
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], 3
mov dword [esp + 0x30], ebx
call fcn.00412210
push ebp
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push ebx
call dword [sym.imp.KERNEL32.dll_Sleep]
mov edi, dword [sym.imp.KERNEL32.dll_SetLastError]
push ebx
call edi
push ebx
mov dword [esi + 0x5d18], 1
call edi
mov eax, dword [esi + 0x5d10]
mov ebp, dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp eax, ebx
je 0x412727
push eax
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov ecx, dword [esi + 0x5d14]
push 0x1388
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x412727
mov edx, dword [esi + 0x5d14]
push ebx
push edx
call dword [sym.imp.KERNEL32.dll_TerminateThread]
mov eax, dword [esi + 0x5d14]
push eax
call ebp
mov dword [esi + 0x5d14], ebx
push ebx
call edi
mov eax, dword [esi + 0x5d0c]
mov dword [esi + 0x59cc], ebx
cmp eax, ebx
je 0x412741
push eax
call dword [sym.imp.KERNEL32.dll_SetEvent]
push ebx
call edi
mov eax, dword [esi + 0x5d14]
cmp eax, ebx
je 0x412757
push eax
call ebp
mov dword [esi + 0x5d14], ebx
push ebx
call edi
mov eax, dword [esi + 0x5d08]
cmp eax, ebx
je 0x41276d
push eax
call ebp
mov dword [esi + 0x5d08], ebx
mov eax, dword [esi + 0x5d24]
cmp eax, ebx
je 0x412794
push eax
call dword [sym.imp.KERNEL32.dll_SetEvent]
push ebx
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [esi + 0x5d24]
push ecx
call ebp
mov dword [esi + 0x5d24], ebx
mov eax, dword [esi + 0x5d0c]
cmp eax, ebx
je 0x4127a7
push eax
call ebp
mov dword [esi + 0x5d0c], ebx
mov eax, dword [esi + 0x5d10]
cmp eax, ebx
je 0x4127ba
push eax
call ebp
mov dword [esi + 0x5d10], ebx
mov eax, dword [esi + 0x5d1c]
cmp eax, ebx
je 0x4127cd
push eax
call ebp
mov dword [esi + 0x5d1c], ebx
mov eax, dword [esi + 0x5d20]
cmp eax, ebx
je 0x4127e0
push eax
call ebp
mov dword [esi + 0x5d20], ebx
mov ecx, esi
call fcn.00412820
mov ecx, dword [esi + 0x5f94]
pop edi
cmp ecx, ebx
pop ebp
je 0x41280e
call fcn.00448c80
mov ecx, dword [esi + 0x5f94]
cmp ecx, ebx
je 0x412808
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esi + 0x5f94], ebx
call fcn.0042e5c0
pop esi
pop ebx
add esp, 0x1110
ret