Function at 0x43c64e
Capabilities:
Create thread

Disassembly:
push 0x44
mov eax, 0x4762d1
call fcn.00472e78
mov ebx, ecx
mov dword [ebp - 0x20], ebx
lea eax, [ebp - 0x1c]
xor esi, esi
push eax
lea ecx, [ebx + 0x1f4]
mov dword [ebp - 0x18], esi
mov edi, esi
call fcn.0042e4e2
mov dword [ebp - 0x10], eax
test eax, eax
jns 0x43c6c5
add ebx, 0x60
mov dword [ebp - 0x14], ebx
mov eax, dword [ebx]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x47d838]
mov ecx, ebx
call esi
test eax, eax
je 0x43ce98
push 0xd0a
mov eax, dword [ebx]
push 0x40fe4c
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x47d838]
mov ecx, ebx
call esi
mov edx, dword [ebp - 0x10]
mov ecx, eax
call fcn.0044829d
jmp 0x43ce98
mov eax, dword [ebx + 0xd4]
lea ecx, [ebx + 0x218]
mov dword [ebp - 0x38], eax
call fcn.0042e28a
mov dword [ebp - 0x10], eax
test eax, eax
jns 0x43c706
add ebx, 0x60
mov dword [ebp - 0x14], ebx
mov eax, dword [ebx]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x47d838]
mov ecx, ebx
call esi
test eax, eax
je 0x43ce98
push 0xd0f
jmp 0x43c6a0
lea eax, [ebp - 0x48]
mov dword [ebx + 0x370], esi
push eax
mov dword [ebx + 0x374], esi
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
mov ecx, dword [ebx + 0x2c8]
mov eax, dword [ebp - 0x1c]
push dword [ebp - 0x44]
push dword [ebp - 0x48]
mov ecx, dword [ecx + eax*4]
call fcn.0042e62d
mov dword [ebp - 0x10], eax
test eax, eax
jns 0x43c763
add ebx, 0x60
mov dword [ebp - 0x14], ebx
mov eax, dword [ebx]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x47d838]
mov ecx, ebx
call esi
test eax, eax
je 0x43ce98
push 0xd16
jmp 0x43c6a0
push dword [ebx + 0x7c]
call dword [sym.imp.KERNEL32.dll_ResetEvent]
test eax, eax
jne 0x43c7a9
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.0042754e
add ebx, 0x60
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], ebx
mov eax, dword [ebx]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x47d838]
mov ecx, ebx
call esi
test eax, eax
je 0x43ce98
push 0xd1a
jmp 0x43c6a0
push dword [ebx + 0x80]
call dword [sym.imp.KERNEL32.dll_ResetEvent]
test eax, eax
jne 0x43c7f2
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.0042754e
add ebx, 0x60
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], ebx
mov eax, dword [ebx]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x47d838]
mov ecx, ebx
call esi
test eax, eax
je 0x43ce98
push 0xd1b
jmp 0x43c6a0
push dword [ebx + 0x84]
call dword [sym.imp.KERNEL32.dll_ResetEvent]
test eax, eax
jne 0x43c83b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.0042754e
add ebx, 0x60
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], ebx
mov eax, dword [ebx]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x47d838]
mov ecx, ebx
call esi
test eax, eax
je 0x43ce98
push 0xd1c
jmp 0x43c6a0
push esi
push esi
push ebx
push 0x433790
push esi
push esi
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov edi, eax
test edi, edi
jne 0x43c88a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.0042754e
add ebx, 0x60
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], ebx
mov eax, dword [ebx]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x47d838]
mov ecx, ebx
call esi
test eax, eax
je 0x43ce98
push 0xd26
jmp 0x43c6a0
mov eax, dword [ebx + 0x80]
mov dword [ebp - 0x2c], 1
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebx + 0x36c], eax
mov dword [ebx + 0x378], esi
mov dword [ebx + 0x37c], esi
mov dword [ebx + 0x380], esi
mov dword [ebx + 0x384], esi
add ebx, 0x60
mov dword [ebp - 0x14], ebx
mov eax, dword [ebx]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x47d838]
mov ecx, ebx
call esi
test eax, eax
je 0x43c906
mov eax, dword [ebp - 0x20]
push dword [eax + 0x368]
mov eax, dword [ebx]
push 0x40fe80
push 2
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x47d838]
mov ecx, ebx
call esi
push eax
call fcn.004481bc
add esp, 0x10
lea ecx, [ebp - 0x18]
call fcn.00424486
mov ecx, dword [ebp - 0x20]
mov eax, dword [ecx]
lea ecx, [ebp - 0x18]
push ecx
push dword [ebp - 0x1c]
mov esi, dword [eax + 0x3c]
mov ecx, esi
call dword [0x47d838]
mov ecx, dword [ebp - 0x20]
call esi
mov dword [ebp - 0x10], eax
test eax, eax
jns 0x43c954
mov eax, dword [ebx]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x47d838]
mov ecx, ebx
call esi
test eax, eax
je 0x43ce98
push 0xd39
jmp 0x43c6a0
mov ecx, dword [ebp - 0x20]
lea eax, [ebp - 0x24]
push eax
push dword [ebp - 0x1c]
mov dword [ebp - 0x24], 1
push dword [ebp - 0x18]
call fcn.0043da3a
mov esi, eax
mov dword [ebp - 0x10], esi
test esi, esi
jns 0x43c999
mov eax, dword [ebx]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x47d838]
mov ecx, ebx
call esi
test eax, eax
je 0x43ce98
push 0xd3b
jmp 0x43c6a0
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x43cb99
mov ebx, dword [ebp - 0x20]
lea eax, [ebp - 0x50]
push dword [ebx + 0x368]
push 0
push eax
push 2
call dword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
mov dword [ebp - 0x34], eax
test eax, eax
je 0x43c9d8
cmp eax, 1
je 0x43ca09
cmp eax, 0x102
jne 0x43cc61
lea ecx, [ebp - 0x18]
call fcn.00424486
mov eax, dword [ebx]
lea ecx, [ebp - 0x1c]
push ecx
lea ecx, [ebp - 0x18]
push ecx
mov esi, dword [eax + 0x50]
mov ecx, esi
call dword [0x47d838]
mov ecx, ebx
call esi
mov dword [ebp - 0x10], eax
cmp eax, 0x80070490
jne 0x43ca44
and dword [ebp - 0x10], 0
jmp 0x43ca4c
lea eax, [ebp - 0x3c]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetExitCodeThread]
test eax, eax
je 0x43cd02
mov esi, dword [ebp - 0x3c]
mov dword [ebp - 0x10], esi
test esi, esi
jle 0x43ca34
movzx esi, si
or esi, 0x80070000
mov dword [ebp - 0x10], esi
test esi, esi
js 0x43ccdc
xor eax, eax
mov dword [ebp - 0x2c], eax
jmp 0x43cb91
test eax, eax
js 0x43cdba
mov esi, dword [ebp - 0x18]
test esi, esi
je 0x43cb6c
mov eax, dword [esi]
lea ecx, [ebp - 0x28]
push ecx
mov ebx, dword [eax + 0xc]
mov ecx, ebx
call dword [0x47d838]
mov ecx, esi
call ebx
mov esi, eax
mov dword [ebp - 0x10], esi
test esi, esi
js 0x43cd5e
mov eax, dword [ebp - 0x28]
test eax, eax
jne 0x43cabf
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x1c]
je 0x43cb16
mov ebx, dword [ebp - 0x20]
lea eax, [ebp - 0x24]
push eax
push dword [ebp - 0x1c]
mov ecx, ebx
mov dword [ebp - 0x24], 1
push dword [ebp - 0x18]
call fcn.0043da3a
mov esi, eax
mov dword [ebp - 0x10], esi
test esi, esi
js 0x43cd38
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x30], eax
jmp 0x43cb74
cmp eax, 6
jne 0x43cb0f
mov ebx, dword [ebp - 0x20]
lea eax, [ebp - 0x24]
or dword [ebp - 0x24], 2
mov ecx, ebx
push eax
push dword [ebp - 0x1c]
push dword [ebp - 0x18]
call fcn.0043da3a
mov esi, eax
mov dword [ebp - 0x10], esi
test esi, esi
jns 0x43cb74
mov ebx, dword [ebp - 0x14]
mov eax, dword [ebx]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x47d838]
mov ecx, ebx
call esi
test eax, eax
je 0x43ce98
push 0xd5f
jmp 0x43c6a0
cmp eax, 0xc0000000
je 0x43cb71
cmp dword [ebp - 0x34], 0
mov ebx, dword [ebp - 0x20]
je 0x43cb28
test byte [ebx + 0x354], 1
je 0x43cb2c
or dword [ebp - 0x24], 4
lea eax, [ebp - 0x24]
mov ecx, ebx
push eax
push dword [ebp - 0x1c]
push dword [ebp - 0x18]
call fcn.0043da3a
mov esi, eax
mov dword [ebp - 0x10], esi
test esi, esi
jns 0x43cb74
mov ebx, dword [ebp - 0x14]
mov eax, dword [ebx]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x47d838]
mov ecx, ebx
call esi
test eax, eax
je 0x43ce98
push 0xd6e
jmp 0x43c6a0
mov esi, dword [ebp - 0x10]
jmp 0x43cb74
mov ebx, dword [ebp - 0x20]
cmp dword [ebp - 0x34], 0
jne 0x43cb8e
push dword [ebx + 0x84]
call dword [sym.imp.KERNEL32.dll_SetEvent]
test eax, eax
je 0x43cd84
mov eax, dword [ebp - 0x2c]
test esi, esi
jns 0x43c9a2
mov ebx, dword [ebp - 0x20]
cmp dword [ebx + 0x34c], 0
jne 0x43ce95
mov eax, dword [ebp - 0x38]
cmp dword [ebp - 0x1c], eax
jae 0x43ce95
lea ecx, [ebp - 0x18]
call fcn.00424486
mov eax, dword [ebx]
lea ecx, [ebp - 0x18]
push ecx
push dword [ebp - 0x1c]
mov esi, dword [eax + 0x3c]
mov ecx, esi
call dword [0x47d838]
mov ecx, ebx
call esi
mov dword [ebp - 0x10], eax
test eax, eax
js 0x43ce73
or dword [ebp - 0x24], 2
lea eax, [ebp - 0x24]
push eax
push dword [ebp - 0x1c]
mov ecx, ebx
push dword [ebp - 0x18]
call fcn.0043da3a
mov dword [ebp - 0x10], eax
test eax, eax
js 0x43ce51
mov esi, dword [ebp - 0x18]
lea ecx, [ebp - 0x28]
push ecx
mov eax, dword [esi]
mov ebx, dword [eax + 0xc]
mov ecx, ebx
call dword [0x47d838]
mov ecx, esi
call ebx
mov dword [ebp - 0x10], eax
test eax, eax
js 0x43ce2f
cmp dword [ebp - 0x28], 6
je 0x43cc33
cmp dword [ebp - 0x28], 4
jne 0x43cde0
mov ecx, dword [ebp - 0x1c]
lea eax, [ebp - 0x1c]
xor edx, edx
push eax
inc edx
call fcn.00429928
mov dword [ebp - 0x10], eax
test eax, eax
js 0x43ce0d
mov eax, dword [ebp - 0x38]
cmp dword [ebp - 0x1c], eax
jae 0x43ce95
mov ebx, dword [ebp - 0x20]
jmp 0x43cbb5
cmp eax, 0xffffffff
je 0x43cc93
mov ebx, dword [ebp - 0x14]
mov dword [ebp - 0x10], 0x8000ffff
mov eax, dword [ebx]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x47d838]
mov ecx, ebx
call esi
test eax, eax
je 0x43ce98
push 0xd88
jmp 0x43c6a0
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov dword [ebp - 0x10], esi
test esi, esi
jle 0x43ccb0
movzx esi, si
or esi, 0x80070000
mov dword [ebp - 0x10], esi
test esi, esi
mov ebx, dword [ebp - 0x14]
jns 0x43ce98
mov eax, dword [ebx]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x47d838]
mov ecx, ebx
call esi
test eax, eax
je 0x43ce98
push 0xd83
jmp 0x43c6a0
mov ebx, dword [ebp - 0x14]
mov eax, dword [ebx]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x47d838]
mov ecx, ebx
call esi
test eax, eax
je 0x43ce98
push 0xd7e
jmp 0x43c6a0
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.0042754e
mov ebx, dword [ebp - 0x14]
mov dword [ebp - 0x10], eax
mov eax, dword [ebx]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x47d838]
mov ecx, ebx
call esi
test eax, eax
je 0x43ce98
push 0xd7d
jmp 0x43c6a0
mov ebx, dword [ebp - 0x14]
mov eax, dword [ebx]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x47d838]
mov ecx, ebx
call esi
test eax, eax
je 0x43ce98
push 0xd57
jmp 0x43c6a0
mov ebx, dword [ebp - 0x14]
mov eax, dword [ebx]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x47d838]
mov ecx, ebx
call esi
test eax, eax
je 0x43ce98
push 0xd51
jmp 0x43c6a0
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.0042754e
mov ebx, dword [ebp - 0x14]
mov dword [ebp - 0x10], eax
mov eax, dword [ebx]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x47d838]
mov ecx, ebx
call esi
test eax, eax
je 0x43ce98
push 0xd77
jmp 0x43c6a0
mov ebx, dword [ebp - 0x14]
mov eax, dword [ebx]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x47d838]
mov ecx, ebx
call esi
test eax, eax
je 0x43ce98
push 0xd4e
jmp 0x43c6a0
mov ebx, dword [ebp - 0x14]
mov dword [ebp - 0x10], 0x8007139f
mov eax, dword [ebx]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x47d838]
mov ecx, ebx
call esi
test eax, eax
je 0x43ce98
push 0xd9b
jmp 0x43c6a0
mov ebx, dword [ebp - 0x14]
mov eax, dword [ebx]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x47d838]
mov ecx, ebx
call esi
test eax, eax
je 0x43ce98
push 0xd9d
jmp 0x43c6a0
mov ebx, dword [ebp - 0x14]
mov eax, dword [ebx]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x47d838]
mov ecx, ebx
call esi
test eax, eax
je 0x43ce98
push 0xd99
jmp 0x43c6a0
mov ebx, dword [ebp - 0x14]
mov eax, dword [ebx]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x47d838]
mov ecx, ebx
call esi
test eax, eax
je 0x43ce98
push 0xd96
jmp 0x43c6a0
mov ebx, dword [ebp - 0x14]
mov eax, dword [ebx]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x47d838]
mov ecx, ebx
call esi
test eax, eax
je 0x43ce98
push 0xd94
jmp 0x43c6a0
mov ebx, dword [ebp - 0x14]
test edi, edi
je 0x43d001
mov eax, dword [ebx]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x47d838]
mov ecx, ebx
call esi
test eax, eax
je 0x43ced6
mov eax, dword [ebx]
push 0x40fee0
push 2
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x47d838]
mov ecx, ebx
call esi
push eax
call fcn.004481bc
add esp, 0xc
mov esi, dword [ebp - 0x20]
push dword [esi + 0x7c]
call dword [sym.imp.KERNEL32.dll_SetEvent]
cmp dword [ebp - 0x10], 0
jge 0x43cf8c
lea ecx, [ebp - 0x18]
call fcn.00424486
mov eax, dword [esi]
lea ecx, [ebp - 0x1c]
push ecx
lea ecx, [ebp - 0x18]
push ecx
mov esi, dword [eax + 0x50]
mov ecx, esi
call dword [0x47d838]
mov ecx, dword [ebp - 0x20]
call esi
test eax, eax
js 0x43cf8c
mov esi, dword [ebp - 0x18]
test esi, esi
je 0x43cf8c
mov eax, dword [esi]
lea ecx, [ebp - 0x28]
push ecx
mov ebx, dword [eax + 0xc]
mov ecx, ebx
call dword [0x47d838]
mov ecx, esi
call ebx
mov ebx, dword [ebp - 0x14]
test eax, eax
js 0x43cf8c
cmp dword [ebp - 0x28], 3
jne 0x43cf8c
mov eax, dword [ebx]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x47d838]
mov ecx, ebx
call esi
test eax, eax
je 0x43cf71
mov eax, dword [ebx]
push 0x40ff30
push 2
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x47d838]
mov ecx, ebx
call esi
push eax
call fcn.004481bc
add esp, 0xc
mov esi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x20]
push ecx
mov eax, dword [esi]
mov ebx, dword [eax + 0x14]
mov ecx, ebx
call dword [0x47d838]
mov ecx, esi
call ebx
mov ebx, dword [ebp - 0x14]
mov eax, dword [ebx]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x47d838]
mov ecx, ebx
call esi
test eax, eax
je 0x43cfc2
mov eax, dword [ebx]
push 0x40ff70
push 2
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x47d838]
mov ecx, ebx
call esi
push eax
call fcn.004481bc
add esp, 0xc
push 0xffffffffffffffff
push edi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [ebx]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x47d838]
mov ecx, ebx
call esi
test eax, eax
je 0x43d001
mov eax, dword [ebx]
push 0x40ffb8
push 2
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x47d838]
mov ecx, ebx
call esi
push eax
call fcn.004481bc
add esp, 0xc
mov ebx, dword [ebp - 0x20]
xor ecx, ecx
mov eax, dword [ebp - 0x10]
push ecx
push ecx
mov esi, dword [ebx + 8]
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x40]
push eax
push ecx
mov ecx, dword [esi]
push 0x2004
call dword [0x47d838]
lea ecx, [ebx + 8]
call dword [esi]
mov ebx, dword [ebp - 0x10]
mov ecx, ebx
call fcn.0042757e
and dword [ebp - 4], 0
test edi, edi
je 0x43d041
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x18]
call fcn.00424486
mov eax, ebx
call fcn.00472e55
ret