Function at 0x437320
Capabilities:
Terminate process
Terminate thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x478e20
mov eax, dword fs:[0]
push eax
push ebx
push esi
push edi
mov eax, dword [0x4a3140]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 4], 2
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0x470]
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [edi + 0x468]
test eax, eax
je 0x4373da
mov eax, dword [edi + 0x464]
mov esi, dword [eax]
cmp esi, eax
je 0x4373da
mov ebx, dword [sym.imp.KERNEL32.dll_TerminateThread]
mov ecx, dword [esi + 0x10]
push 0
push ecx
call ebx
mov edx, dword [esi + 0x10]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp byte [esi + 0x15], 0
jne 0x4373d2
mov eax, dword [esi + 8]
cmp byte [eax + 0x15], 0
jne 0x4373b1
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0x15], 0
jne 0x4373d2
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0x15], 0
je 0x4373a5
jmp 0x4373d2
mov eax, dword [esi + 4]
cmp byte [eax + 0x15], 0
jne 0x4373d0
lea ebx, [ebx]
cmp esi, dword [eax + 8]
jne 0x4373d0
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0x15], 0
je 0x4373c0
mov esi, eax
cmp esi, dword [edi + 0x464]
jne 0x43737a
mov eax, dword [edi + 0x464]
mov ebx, dword [eax + 4]
cmp byte [ebx + 0x15], 0
lea esi, [edi + 0x460]
mov edi, ebx
jne 0x437410
mov ecx, dword [edi + 8]
push ecx
mov ecx, esi
call fcn.00435e10
mov edi, dword [edi]
push ebx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
cmp byte [edi + 0x15], 0
mov ebx, edi
je 0x4373f1
mov eax, dword [esi + 4]
mov edi, dword [ebp + 8]
mov dword [eax + 4], eax
mov eax, dword [esi + 4]
mov dword [eax], eax
mov eax, dword [esi + 4]
mov dword [eax + 8], eax
mov dword [esi + 8], 0
mov edx, dword [edi + 0x45c]
push 0xffffffffffffffff
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp dword [edi + 0x454], 0
jbe 0x4374af
mov eax, dword [edi + 0x450]
mov esi, dword [eax]
cmp esi, eax
je 0x4374af
mov ebx, dword [sym.imp.KERNEL32.dll_TerminateProcess]
mov eax, dword [esi + 0x10]
push 0
push eax
call ebx
mov ecx, dword [esi + 0x10]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp byte [esi + 0x15], 0
jne 0x4374a7
mov eax, dword [esi + 8]
cmp byte [eax + 0x15], 0
jne 0x43748c
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0x15], 0
jne 0x4374a7
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0x15], 0
je 0x437480
jmp 0x4374a7
mov eax, dword [esi + 4]
cmp byte [eax + 0x15], 0
jne 0x4374a5
cmp esi, dword [eax + 8]
jne 0x4374a5
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0x15], 0
je 0x437495
mov esi, eax
cmp esi, dword [edi + 0x450]
jne 0x437455
mov edx, dword [edi + 0x450]
mov ebx, dword [edx + 4]
cmp byte [ebx + 0x15], 0
mov esi, ebx
jne 0x4374e3
mov eax, dword [esi + 8]
push eax
lea ecx, [edi + 0x44c]
call fcn.00435e10
mov esi, dword [esi]
push ebx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
cmp byte [esi + 0x15], 0
mov ebx, esi
je 0x4374c0
mov eax, dword [edi + 0x450]
mov dword [eax + 4], eax
mov eax, dword [edi + 0x450]
mov dword [eax], eax
mov eax, dword [edi + 0x450]
mov dword [eax + 8], eax
mov eax, dword [0x52be0c]
mov dword [edi + 0x454], 0
test eax, eax
je 0x437521
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x52be0c], 0
mov byte [ebp - 4], 1
mov esi, dword [ebp + 8]
lea ecx, [esi + 0x38]
push ecx
call fcn.00435f00
cmp dword [esi + 0x30], 8
jb 0x437544
mov edx, dword [esi + 0x1c]
push edx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor edi, edi
mov ebx, 7
xor eax, eax
mov dword [esi + 0x30], ebx
mov dword [esi + 0x2c], edi
mov word [esi + 0x1c], ax
cmp dword [esi + 0x14], 8
jb 0x437569
mov ecx, dword [esi]
push ecx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor edx, edx
mov dword [esi + 0x14], ebx
mov dword [esi + 0x10], edi
mov word [esi], dx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4