Function at 0x43e4a4
Capabilities:
Create thread

Disassembly:
push 0x44
mov eax, 0x46d05d
call fcn.0046b3e5
mov esi, ecx
mov dword [ebp - 0x18], esi
and dword [ebp - 0x24], 0
and dword [ebp - 4], 0
xor edi, edi
mov dword [ebp - 0x3c], edi
lea eax, [ebp - 0x20]
mov byte [ebp - 4], 1
push eax
lea ecx, [esi + 0x1c0]
call fcn.00429a17
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
jns 0x43e50d
lea ebx, [esi + 0x60]
mov edx, dword [ebx]
push 0xc77
mov esi, dword [edx + 4]
push 0x411084
mov ecx, esi
call dword [0x473450]
mov ecx, ebx
call esi
mov ebx, dword [ebp - 0x1c]
mov ecx, eax
mov edx, ebx
call fcn.00444f99
jmp 0x43eca2
mov eax, dword [esi + 0xc0]
lea ecx, [esi + 0x1e8]
mov dword [ebp - 0x30], eax
call fcn.004296dc
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
jns 0x43e539
push 0xc7c
lea ebx, [esi + 0x60]
mov eax, dword [ebx]
mov esi, dword [eax + 4]
jmp 0x43e4eb
and dword [esi + 0x308], 0
lea eax, [ebp - 0x38]
and dword [esi + 0x30c], 0
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
mov ecx, dword [esi + 0x298]
mov eax, dword [ebp - 0x20]
push dword [ebp - 0x34]
push dword [ebp - 0x38]
mov ecx, dword [ecx + eax*4]
call fcn.00429bb1
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
jns 0x43e578
push 0xc83
jmp 0x43e52f
xor ebx, ebx
push ebx
push ebx
push esi
push 0x437820
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
push eax
lea ecx, [ebp - 0x3c]
call fcn.0042939f
mov edi, dword [ebp - 0x3c]
test edi, edi
jne 0x43e5b6
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.00417d89
mov ebx, eax
mov dword [ebp - 0x1c], ebx
push 0xc8d
jmp 0x43e52f
mov eax, dword [esi + 0x70]
mov dword [ebp - 0x28], 1
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esi + 0x310], ebx
mov dword [esi + 0x314], ebx
mov dword [esi + 0x318], ebx
mov dword [esi + 0x31c], ebx
lea ebx, [esi + 0x60]
mov dword [esi + 0x304], eax
mov eax, dword [ebx]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x473450]
mov ecx, ebx
call esi
test eax, eax
je 0x43e62c
mov eax, dword [ebp - 0x18]
push dword [eax + 0x300]
mov eax, dword [ebx]
push 0x4110c0
push 2
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x473450]
mov ecx, ebx
call esi
push eax
call fcn.00444fe2
add esp, 0x10
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x43e647
mov ecx, dword [eax]
push eax
mov esi, dword [ecx + 8]
mov ecx, esi
call dword [0x473450]
call esi
and dword [ebp - 0x24], 0
mov ebx, dword [ebp - 0x18]
lea ecx, [ebp - 0x24]
push ecx
push dword [ebp - 0x20]
mov eax, dword [ebx]
mov esi, dword [eax + 0x50]
mov ecx, esi
call dword [0x473450]
mov ecx, ebx
call esi
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
jns 0x43e67b
mov eax, dword [ebp - 0x18]
push 0xca0
mov eax, dword [eax + 0x60]
jmp 0x43ebec
mov ebx, dword [ebp - 0x18]
mov eax, dword [ebx + 0x60]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x473450]
lea ecx, [ebx + 0x60]
call esi
test eax, eax
je 0x43e6bb
push dword [ebp - 0x20]
mov eax, dword [ebx + 0x60]
push 0x411128
push 2
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x473450]
lea ecx, [ebx + 0x60]
call esi
push eax
call fcn.00444fe2
add esp, 0x10
push 1
push dword [ebp - 0x20]
mov esi, ebx
push dword [ebp - 0x24]
mov ecx, esi
call fcn.0043f3a3
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
jns 0x43e6e2
push 0xca2
mov eax, dword [esi + 0x60]
jmp 0x43ebec
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x43ebac
push dword [esi + 0x300]
lea eax, [ebp - 0x50]
push 0
push eax
push 2
call dword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
mov dword [ebp - 0x40], eax
test eax, eax
je 0x43e71c
cmp eax, 1
je 0x43e934
cmp eax, 0x102
jne 0x43ea10
mov ecx, dword [ebp - 0x30]
cmp dword [ebp - 0x20], ecx
jae 0x43e9b3
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x43e746
mov ecx, dword [eax]
push eax
mov esi, dword [ecx + 8]
mov ecx, esi
call dword [0x473450]
call esi
and dword [ebp - 0x24], 0
mov esi, dword [ebp - 0x18]
mov eax, dword [esi]
lea ecx, [ebp - 0x24]
push ecx
push dword [ebp - 0x20]
mov esi, dword [eax + 0x50]
mov ecx, esi
call dword [0x473450]
mov ecx, dword [ebp - 0x18]
call esi
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
js 0x43eac0
mov esi, dword [ebp - 0x24]
lea ecx, [ebp - 0x2c]
push ecx
mov eax, dword [esi]
mov ebx, dword [eax + 0xc]
mov ecx, ebx
call dword [0x473450]
mov ecx, esi
call ebx
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
js 0x43eab6
cmp dword [ebp - 0x2c], 9
jne 0x43e96f
mov ebx, dword [ebp - 0x18]
mov eax, dword [ebx + 0x60]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x473450]
lea ecx, [ebx + 0x60]
call esi
test eax, eax
je 0x43e7db
push dword [ebp - 0x20]
mov eax, dword [ebx + 0x60]
push 0x411198
push 2
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x473450]
lea ecx, [ebx + 0x60]
call esi
push eax
call fcn.00444fe2
add esp, 0x10
push 2
push dword [ebp - 0x20]
mov esi, ebx
push dword [ebp - 0x24]
mov ecx, esi
call fcn.0043f3a3
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
js 0x43eaac
mov ecx, dword [ebp - 0x20]
lea eax, [ebp - 0x20]
xor edx, edx
push eax
inc edx
call fcn.00420cb1
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
js 0x43eaa2
mov eax, dword [ebp - 0x30]
cmp dword [ebp - 0x20], eax
jae 0x43ea00
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x43e83f
mov ecx, dword [eax]
push eax
mov esi, dword [ecx + 8]
mov ecx, esi
call dword [0x473450]
call esi
and dword [ebp - 0x24], 0
mov esi, dword [ebp - 0x18]
mov eax, dword [esi]
lea ecx, [ebp - 0x24]
push ecx
push dword [ebp - 0x20]
mov esi, dword [eax + 0x50]
mov ecx, esi
call dword [0x473450]
mov ecx, dword [ebp - 0x18]
call esi
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
js 0x43ea98
mov ebx, dword [ebp - 0x18]
mov eax, dword [ebx + 0x60]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x473450]
lea ecx, [ebx + 0x60]
call esi
test eax, eax
je 0x43e8a5
push dword [ebp - 0x20]
mov eax, dword [ebx + 0x60]
push 0x411128
push 2
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x473450]
lea ecx, [ebx + 0x60]
call esi
push eax
call fcn.00444fe2
add esp, 0x10
push 1
push dword [ebp - 0x20]
mov esi, ebx
push dword [ebp - 0x24]
mov ecx, esi
call fcn.0043f3a3
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
js 0x43ea8e
lea ecx, [esi + 0x1e8]
call fcn.004296dc
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
js 0x43ea84
lea eax, [ebp - 0x38]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
mov ecx, dword [esi + 0x298]
mov eax, dword [ebp - 0x20]
push dword [ebp - 0x34]
push dword [ebp - 0x38]
mov ecx, dword [ecx + eax*4]
call fcn.00429bb1
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
js 0x43ea7a
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esi + 0x304], eax
xor eax, eax
mov dword [esi + 0x308], eax
mov dword [esi + 0x30c], eax
mov dword [esi + 0x318], eax
mov dword [esi + 0x31c], eax
jmp 0x43ea00
lea eax, [ebp - 0x44]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetExitCodeThread]
test eax, eax
je 0x43ea5e
mov ebx, dword [ebp - 0x44]
mov dword [ebp - 0x1c], ebx
test ebx, ebx
jle 0x43e95f
movzx ebx, bx
or ebx, 0x80070000
mov dword [ebp - 0x1c], ebx
test ebx, ebx
js 0x43ea54
xor eax, eax
mov dword [ebp - 0x28], eax
jmp 0x43ea03
cmp dword [ebp - 0x2c], 0xb
mov esi, dword [ebp - 0x18]
je 0x43ea00
cmp dword [ebp - 0x40], 0
je 0x43e98f
test byte [esi + 0x2ec], 1
jne 0x43e98f
xor eax, eax
jmp 0x43e992
push 4
pop eax
push eax
push dword [ebp - 0x20]
mov ecx, esi
push dword [ebp - 0x24]
call fcn.0043f3a3
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
jns 0x43ea00
push 0xcf4
jmp 0x43e6da
cmp eax, 0x102
jne 0x43ea00
mov eax, dword [esi + 0x60]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x473450]
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx + 0x60]
call esi
test eax, eax
je 0x43e9fd
mov ecx, dword [ebp - 0x18]
push 0x411200
push 3
mov eax, dword [ecx + 0x60]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x473450]
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx + 0x60]
call esi
push eax
call fcn.00444fe2
add esp, 0xc
mov esi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x28]
test ebx, ebx
jns 0x43e6e5
jmp 0x43ebac
cmp eax, 0xffffffff
je 0x43ea27
mov ebx, 0x8000ffff
mov dword [ebp - 0x1c], ebx
push 0xd09
jmp 0x43e6da
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
jle 0x43ea44
movzx ebx, bx
or ebx, 0x80070000
mov dword [ebp - 0x1c], ebx
test ebx, ebx
jns 0x43ec0d
push 0xd04
jmp 0x43e6da
push 0xcff
jmp 0x43e6da
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.00417d89
mov ebx, eax
mov dword [ebp - 0x1c], ebx
push 0xcfe
jmp 0x43e6da
push 0xcda
jmp 0x43e6da
push 0xcd1
jmp 0x43e6da
push 0xccd
jmp 0x43e6da
push 0xccb
jmp 0x43ebe6
push 0xcc2
jmp 0x43e6da
push 0xcbe
jmp 0x43e6da
push 0xcb7
jmp 0x43ebe6
push 0xcb6
jmp 0x43ebe6
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x43eae5
mov ecx, dword [eax]
push eax
mov esi, dword [ecx + 8]
mov ecx, esi
call dword [0x473450]
call esi
and dword [ebp - 0x24], 0
mov ebx, dword [ebp - 0x18]
lea ecx, [ebp - 0x24]
push ecx
push dword [ebp - 0x20]
mov eax, dword [ebx]
mov esi, dword [eax + 0x50]
mov ecx, esi
call dword [0x473450]
mov ecx, ebx
call esi
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
js 0x43ebe1
mov ebx, dword [ebp - 0x18]
mov eax, dword [ebx + 0x60]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x473450]
lea ecx, [ebx + 0x60]
call esi
test eax, eax
je 0x43eb4d
push dword [ebp - 0x20]
mov eax, dword [ebx + 0x60]
push 0x411290
push 2
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x473450]
lea ecx, [ebx + 0x60]
call esi
push eax
call fcn.00444fe2
add esp, 0x10
push 2
push dword [ebp - 0x20]
mov esi, ebx
push dword [ebp - 0x24]
mov ecx, esi
call fcn.0043f3a3
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
js 0x43ebd7
mov esi, dword [ebp - 0x24]
lea ecx, [ebp - 0x2c]
push ecx
mov eax, dword [esi]
mov ebx, dword [eax + 0xc]
mov ecx, ebx
call dword [0x473450]
mov ecx, esi
call ebx
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
js 0x43ebd0
cmp dword [ebp - 0x2c], 9
je 0x43eb94
cmp dword [ebp - 0x2c], 8
jne 0x43ebba
mov ecx, dword [ebp - 0x20]
lea eax, [ebp - 0x20]
xor edx, edx
push eax
inc edx
call fcn.00420cb1
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
js 0x43ebc9
mov eax, dword [ebp - 0x30]
cmp dword [ebp - 0x20], eax
jb 0x43eaca
jmp 0x43ec0d
mov ebx, 0x8007139f
mov dword [ebp - 0x1c], ebx
push 0xd19
jmp 0x43ebe6
push 0xd1b
jmp 0x43ebe6
push 0xd17
jmp 0x43ebe6
push 0xd15
jmp 0x43e6da
push 0xd13
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx + 0x60]
mov esi, dword [eax + 4]
mov ecx, esi
push 0x411084
call dword [0x473450]
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx + 0x60]
call esi
mov edx, ebx
mov ecx, eax
call fcn.00444f99
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx + 0x60]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x473450]
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx + 0x60]
call esi
test eax, eax
je 0x43ec53
mov ecx, dword [ebp - 0x18]
push 0x411300
push 2
mov eax, dword [ecx + 0x60]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x473450]
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx + 0x60]
call esi
push eax
call fcn.00444fe2
add esp, 0xc
push 0xffffffffffffffff
push edi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 0x60]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x473450]
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx + 0x60]
call esi
test eax, eax
je 0x43eca2
mov ecx, dword [ebp - 0x18]
push 0x411350
push 2
mov eax, dword [ecx + 0x60]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x473450]
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx + 0x60]
call esi
push eax
call fcn.00444fe2
add esp, 0xc
xor ecx, ecx
mov dword [ebp - 0x48], ebx
mov ebx, dword [ebp - 0x18]
lea eax, [ebp - 0x48]
push ecx
push ecx
push eax
mov esi, dword [ebx + 8]
push ecx
push 0x2004
mov ecx, dword [esi]
call dword [0x473450]
lea ecx, [ebx + 8]
call dword [esi]
mov ebx, dword [ebp - 0x1c]
mov ecx, ebx
call fcn.00418048
test edi, edi
je 0x43ecdb
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
or dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x43ecf6
mov ecx, dword [eax]
push eax
mov esi, dword [ecx + 8]
mov ecx, esi
call dword [0x473450]
call esi
mov eax, ebx
call fcn.0046b399
ret