Function at 0x437778
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffb8
mov eax, 0x56fad0
push ebx
push esi
push edi
call fcn.00528424
xor edx, edx
lea eax, [ebp - 0x48]
mov dword [ebp - 0x48], edx
mov ecx, dword [ebp + 8]
push eax
mov dword [0x59ca6c], ecx
call fcn.004375dc
pop ecx
test eax, eax
jne 0x43783d
push 0x30
xor edx, edx
mov dword [ebp - 8], edx
lea edx, [ebp - 8]
inc dword [ebp - 0x24]
mov eax, 0x5dd
call fcn.0051100c
cmp dword [ebp - 8], 0
je 0x4377cd
mov ecx, dword [ebp - 8]
jmp 0x4377d2
mov ecx, 0x56f999
push ecx
xor eax, eax
mov word [ebp - 0x30], 8
mov dword [ebp - 4], eax
mov eax, 0x1b69
inc dword [ebp - 0x24]
lea edx, [ebp - 4]
call fcn.0051100c
cmp dword [ebp - 4], 0
je 0x4377f9
mov edx, dword [ebp - 4]
jmp 0x4377fe
mov edx, 0x56f998
mov eax, dword [0x59bf1c]
pop ecx
mov eax, dword [eax]
call fcn.005376a4
dec dword [ebp - 0x24]
lea eax, [ebp - 8]
mov edx, 2
call fcn.005378b8
dec dword [ebp - 0x24]
lea eax, [ebp - 4]
mov edx, 2
call fcn.005378b8
or eax, 0xffffffff
mov edx, dword [ebp - 0x40]
mov dword fs:[0], edx
jmp 0x437a54
call fcn.00437a5c
test eax, eax
je 0x4378ca
push 0x30
xor ecx, ecx
mov dword [ebp - 0x10], ecx
lea edx, [ebp - 0x10]
inc dword [ebp - 0x24]
mov eax, 0x5dd
call fcn.0051100c
cmp dword [ebp - 0x10], 0
je 0x43786c
mov ecx, dword [ebp - 0x10]
jmp 0x437871
mov ecx, 0x56f99b
push ecx
xor eax, eax
mov word [ebp - 0x30], 0x14
mov dword [ebp - 0xc], eax
mov eax, 0x1b59
inc dword [ebp - 0x24]
lea edx, [ebp - 0xc]
call fcn.0051100c
cmp dword [ebp - 0xc], 0
je 0x437898
mov edx, dword [ebp - 0xc]
jmp 0x43789d
mov edx, 0x56f99a
mov eax, dword [0x59bf1c]
pop ecx
mov eax, dword [eax]
call fcn.005376a4
dec dword [ebp - 0x24]
lea eax, [ebp - 0x10]
mov edx, 2
call fcn.005378b8
dec dword [ebp - 0x24]
lea eax, [ebp - 0xc]
mov edx, 2
call fcn.005378b8
mov ecx, dword [ebp - 0x48]
push ecx
push 0
push 0x1f0fff
call sub.KERNEL32.DLL_OpenProcess
mov ebx, eax
test ebx, ebx
jne 0x43793b
mov word [ebp - 0x30], 0x20
xor eax, eax
lea edx, [ebp - 0x14]
mov dword [ebp - 0x14], eax
mov eax, 0x1b5a
inc dword [ebp - 0x24]
call fcn.0051100c
cmp dword [ebp - 0x14], 0
je 0x437906
mov edx, dword [ebp - 0x14]
jmp 0x43790b
mov edx, 0x56f99c
push edx
call sub.KERNEL32.DLL_GetLastError
mov edx, eax
pop eax
call fcn.0044a7e0
dec dword [ebp - 0x24]
lea eax, [ebp - 0x14]
mov edx, 2
call fcn.005378b8
or eax, 0xffffffff
mov edx, dword [ebp - 0x40]
mov dword fs:[0], edx
jmp 0x437a54
push 0
push 0
push 0
push 0
call sub.KERNEL32.DLL_CreateEventA
mov edi, eax
lea eax, [ebp - 0x44]
push eax
push 0
push edi
push 0x437fc8
push 0
push 0
call sub.KERNEL32.DLL_CreateThread
mov esi, eax
test esi, esi
jne 0x4379c0
mov word [ebp - 0x30], 0x2c
xor eax, eax
lea edx, [ebp - 0x18]
mov dword [ebp - 0x18], eax
mov eax, 0x1b5b
inc dword [ebp - 0x24]
call fcn.0051100c
cmp dword [ebp - 0x18], 0
je 0x43798b
mov edx, dword [ebp - 0x18]
jmp 0x437990
mov edx, 0x56f99d
push edx
call sub.KERNEL32.DLL_GetLastError
mov edx, eax
pop eax
call fcn.0044a7e0
dec dword [ebp - 0x24]
lea eax, [ebp - 0x18]
mov edx, 2
call fcn.005378b8
or eax, 0xffffffff
mov edx, dword [ebp - 0x40]
mov dword fs:[0], edx
jmp 0x437a54
push 0x2710
push edi
call sub.KERNEL32.DLL_WaitForSingleObject
test eax, eax
je 0x437a27
mov word [ebp - 0x30], 0x38
xor ecx, ecx
lea edx, [ebp - 0x1c]
mov dword [ebp - 0x1c], ecx
mov eax, 0x1b5c
inc dword [ebp - 0x24]
call fcn.0051100c
cmp dword [ebp - 0x1c], 0
je 0x4379f5
mov ecx, dword [ebp - 0x1c]
jmp 0x4379fa
mov ecx, 0x56f99e
push ecx
call sub.KERNEL32.DLL_GetLastError
mov edx, eax
pop eax
call fcn.0044a7e0
dec dword [ebp - 0x24]
lea eax, [ebp - 0x1c]
mov edx, 2
call fcn.005378b8
or eax, 0xffffffff
mov edx, dword [ebp - 0x40]
mov dword fs:[0], edx
jmp 0x437a54
push ebx
call fcn.00437bc8
pop ecx
inc eax
jne 0x437a40
or eax, 0xffffffff
mov edx, dword [ebp - 0x40]
mov dword fs:[0], edx
jmp 0x437a54
push 0xffffffffffffffff
push esi
call sub.KERNEL32.DLL_WaitForSingleObject
xor eax, eax
mov edx, dword [ebp - 0x40]
mov dword fs:[0], edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret