Function at 0x43c065
Capabilities:
Create thread

Disassembly:
push 0x2c
mov eax, 0x476500
call fcn.00472e78
mov ebx, ecx
mov dword [ebp - 0x14], ebx
mov eax, dword [ebx]
lea ecx, [ebp - 0x28]
push ecx
lea ecx, [ebp - 0x30]
xor esi, esi
push ecx
mov edi, dword [eax + 0x70]
mov ecx, edi
call dword [0x47d838]
mov ecx, ebx
call edi
mov dword [ebp - 0x10], eax
test eax, eax
jns 0x43c0be
add ebx, 0x60
mov eax, dword [ebx]
mov edi, dword [eax + 8]
mov ecx, edi
call dword [0x47d838]
mov ecx, ebx
call edi
test eax, eax
je 0x43c427
push 0xc71
jmp 0x43c407
mov eax, dword [ebp - 0x28]
mov dword [ebx + 0x370], eax
mov eax, dword [ebp - 0x24]
mov dword [ebx + 0x374], eax
lea eax, [ebp - 0x38]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
push dword [ebp - 0x24]
lea ecx, [ebx + 0x218]
push dword [ebp - 0x28]
push dword [ebp - 0x34]
push dword [ebp - 0x38]
call fcn.0042e1ed
mov dword [ebp - 0x10], eax
test eax, eax
jns 0x43c11e
add ebx, 0x60
mov eax, dword [ebx]
mov edi, dword [eax + 8]
mov ecx, edi
call dword [0x47d838]
mov ecx, ebx
call edi
test eax, eax
je 0x43c427
push 0xc77
jmp 0x43c407
lea edi, [ebx + 0x250]
mov ecx, edi
call fcn.0042e436
mov dword [ebp - 0x10], eax
test eax, eax
jns 0x43c158
add ebx, 0x60
mov eax, dword [ebx]
mov edi, dword [eax + 8]
mov ecx, edi
call dword [0x47d838]
mov ecx, ebx
call edi
test eax, eax
je 0x43c427
push 0xc7b
jmp 0x43c407
lea eax, [ebx + 0x218]
mov ecx, edi
push eax
call fcn.0042e2d1
mov dword [ebp - 0x10], eax
test eax, eax
jns 0x43c193
add ebx, 0x60
mov eax, dword [ebx]
mov edi, dword [eax + 8]
mov ecx, edi
call dword [0x47d838]
mov ecx, ebx
call edi
test eax, eax
je 0x43c427
push 0xc7c
jmp 0x43c407
xor edi, edi
push edi
push edi
push ebx
push 0x4336f0
push edi
push edi
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov esi, eax
test esi, esi
jne 0x43c1e1
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.0042754e
add ebx, 0x60
mov dword [ebp - 0x10], eax
mov eax, dword [ebx]
mov edi, dword [eax + 8]
mov ecx, edi
call dword [0x47d838]
mov ecx, ebx
call edi
test eax, eax
je 0x43c427
push 0xc86
jmp 0x43c407
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebx + 0x36c], eax
mov eax, dword [ebp - 0x30]
or eax, dword [ebp - 0x2c]
mov dword [ebx + 0x378], edi
mov dword [ebx + 0x37c], edi
je 0x43c221
mov eax, dword [ebp - 0x24]
push 0x64
pop edi
push dword [ebp - 0x2c]
mul edi
push dword [ebp - 0x30]
mov ecx, eax
mov eax, dword [ebp - 0x28]
mul edi
add ecx, edx
push ecx
push eax
call fcn.00475320
jmp 0x43c225
mov eax, edi
mov edx, edi
push 1
mov ecx, ebx
mov dword [ebx + 0x380], eax
mov dword [ebx + 0x384], edx
call fcn.0043d7bb
add ebx, 0x60
mov ecx, eax
mov dword [ebp - 0x10], ecx
test ecx, ecx
mov eax, dword [ebx]
mov edi, dword [eax + 8]
mov ecx, edi
jns 0x43c269
call dword [0x47d838]
mov ecx, ebx
call edi
test eax, eax
je 0x43c427
push 0xc90
jmp 0x43c407
call dword [0x47d838]
mov ecx, ebx
call edi
test eax, eax
je 0x43c2a1
mov eax, dword [ebp - 0x14]
push dword [eax + 0x364]
mov eax, dword [ebx]
push 0x40fd30
push 2
mov edi, dword [eax + 8]
mov ecx, edi
call dword [0x47d838]
mov ecx, ebx
call edi
push eax
call fcn.004481bc
add esp, 0x10
mov edi, dword [ebp - 0x14]
push dword [edi + 0x364]
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x43c368
cmp eax, 0x102
jne 0x43c2f3
push 0
mov ecx, edi
call fcn.0043d7bb
mov dword [ebp - 0x10], eax
test eax, eax
jns 0x43c2a4
mov eax, dword [ebx]
mov edi, dword [eax + 8]
mov ecx, edi
call dword [0x47d838]
mov ecx, ebx
call edi
test eax, eax
je 0x43c427
push 0xca6
jmp 0x43c407
cmp eax, 0xffffffff
je 0x43c322
mov eax, dword [ebx]
mov dword [ebp - 0x10], 0x8000ffff
mov edi, dword [eax + 8]
mov ecx, edi
call dword [0x47d838]
mov ecx, ebx
call edi
test eax, eax
je 0x43c427
push 0xcae
jmp 0x43c407
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov dword [ebp - 0x10], edi
test edi, edi
jle 0x43c33f
movzx edi, di
or edi, 0x80070000
mov dword [ebp - 0x10], edi
test edi, edi
jns 0x43c427
mov eax, dword [ebx]
mov edi, dword [eax + 8]
mov ecx, edi
call dword [0x47d838]
mov ecx, ebx
call edi
test eax, eax
je 0x43c427
push 0xca9
jmp 0x43c407
lea eax, [ebp - 0x1c]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetExitCodeThread]
test eax, eax
jne 0x43c3a7
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.0042754e
mov dword [ebp - 0x10], eax
mov eax, dword [ebx]
mov edi, dword [eax + 8]
mov ecx, edi
call dword [0x47d838]
mov ecx, ebx
call edi
test eax, eax
je 0x43c427
push 0xc9d
jmp 0x43c407
push 2
mov ecx, edi
call fcn.0043d7bb
mov dword [ebp - 0x10], eax
test eax, eax
jns 0x43c3d3
mov eax, dword [ebx]
mov edi, dword [eax + 8]
mov ecx, edi
call dword [0x47d838]
mov ecx, ebx
call edi
test eax, eax
je 0x43c427
push 0xca1
jmp 0x43c407
mov edi, dword [ebp - 0x1c]
mov dword [ebp - 0x10], edi
test edi, edi
jle 0x43c3eb
movzx edi, di
or edi, 0x80070000
mov dword [ebp - 0x10], edi
test edi, edi
jns 0x43c427
mov eax, dword [ebx]
mov edi, dword [eax + 8]
mov ecx, edi
call dword [0x47d838]
mov ecx, ebx
call edi
test eax, eax
je 0x43c427
push 0xca2
mov eax, dword [ebx]
push 0x40fcf8
mov edi, dword [eax + 8]
mov ecx, edi
call dword [0x47d838]
mov ecx, ebx
call edi
mov edx, dword [ebp - 0x10]
mov ecx, eax
call fcn.0044829d
test esi, esi
je 0x43c4a0
mov eax, dword [ebx]
mov edi, dword [eax + 8]
mov ecx, edi
call dword [0x47d838]
mov ecx, ebx
call edi
test eax, eax
je 0x43c461
mov eax, dword [ebx]
push 0x40fd98
push 2
mov edi, dword [eax + 8]
mov ecx, edi
call dword [0x47d838]
mov ecx, ebx
call edi
push eax
call fcn.004481bc
add esp, 0xc
push 0xffffffffffffffff
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [ebx]
mov edi, dword [eax + 8]
mov ecx, edi
call dword [0x47d838]
mov ecx, ebx
call edi
test eax, eax
je 0x43c4a0
mov eax, dword [ebx]
push 0x40fde4
push 2
mov edi, dword [eax + 8]
mov ecx, edi
call dword [0x47d838]
mov ecx, ebx
call edi
push eax
call fcn.004481bc
add esp, 0xc
mov ebx, dword [ebp - 0x14]
lea ecx, [ebp - 0x28]
push ecx
lea ecx, [ebp - 0x30]
push ecx
lea eax, [ebx + 0x398]
mov dword [ebp - 0x18], eax
mov eax, dword [ebx]
mov edi, dword [eax + 0x70]
mov ecx, edi
call dword [0x47d838]
mov ecx, ebx
call edi
test eax, eax
js 0x43c509
mov edi, dword [ebx + 8]
lea eax, [ebp - 0x28]
push 0
push dword [ebp - 0x18]
mov ecx, dword [edi]
push eax
push 1
push 0x1003
call dword [0x47d838]
lea ecx, [ebx + 8]
call dword [edi]
mov edi, dword [ebx + 8]
lea eax, [ebp - 0x30]
push 0
push dword [ebp - 0x18]
mov ecx, dword [edi]
push eax
push 1
push 0x1004
call dword [0x47d838]
lea ecx, [ebx + 8]
call dword [edi]
mov eax, dword [ebp - 0x10]
mov edi, dword [ebx + 8]
push 0
push dword [ebp - 0x18]
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x20]
mov ecx, dword [edi]
push eax
push 0
push 0x1007
call dword [0x47d838]
lea ecx, [ebx + 8]
call dword [edi]
mov ebx, dword [ebp - 0x10]
mov ecx, ebx
call fcn.0042757e
and dword [ebp - 4], 0
test esi, esi
je 0x43c548
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
or dword [ebp - 4], 0xffffffff
mov eax, ebx
call fcn.00472e55
ret