Function at 0x4403d3
Capabilities:
Create thread

Disassembly:
push 0x44
mov eax, 0x46eb39
call fcn.0046cef5
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.0042b7de
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
jns 0x44043c
lea ebx, [esi + 0x60]
mov edx, dword [ebx]
push 0xc77
mov esi, dword [edx + 4]
push 0x41133c
mov ecx, esi
call dword [0x47547c]
mov ecx, ebx
call esi
mov ebx, dword [ebp - 0x1c]
mov ecx, eax
mov edx, ebx
call fcn.00446ed9
jmp 0x440bd1
mov eax, dword [esi + 0xc0]
lea ecx, [esi + 0x1e8]
mov dword [ebp - 0x30], eax
call fcn.0042b4a3
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
jns 0x440468
push 0xc7c
lea ebx, [esi + 0x60]
mov eax, dword [ebx]
mov esi, dword [eax + 4]
jmp 0x44041a
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.0042b978
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
jns 0x4404a7
push 0xc83
jmp 0x44045e
xor ebx, ebx
push ebx
push ebx
push esi
push 0x439640
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
push eax
lea ecx, [ebp - 0x3c]
call fcn.0042b18f
mov edi, dword [ebp - 0x3c]
test edi, edi
jne 0x4404e5
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.00418df2
mov ebx, eax
mov dword [ebp - 0x1c], ebx
push 0xc8d
jmp 0x44045e
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 [0x47547c]
mov ecx, ebx
call esi
test eax, eax
je 0x44055b
mov eax, dword [ebp - 0x18]
push dword [eax + 0x300]
mov eax, dword [ebx]
push 0x411378
push 2
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x47547c]
mov ecx, ebx
call esi
push eax
call fcn.00446f24
add esp, 0x10
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x440576
mov ecx, dword [eax]
push eax
mov esi, dword [ecx + 8]
mov ecx, esi
call dword [0x47547c]
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 [0x47547c]
mov ecx, ebx
call esi
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
jns 0x4405aa
mov eax, dword [ebp - 0x18]
push 0xca0
mov eax, dword [eax + 0x60]
jmp 0x440b1b
mov ebx, dword [ebp - 0x18]
mov eax, dword [ebx + 0x60]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x47547c]
lea ecx, [ebx + 0x60]
call esi
test eax, eax
je 0x4405ea
push dword [ebp - 0x20]
mov eax, dword [ebx + 0x60]
push 0x4113e0
push 2
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x47547c]
lea ecx, [ebx + 0x60]
call esi
push eax
call fcn.00446f24
add esp, 0x10
push 1
push dword [ebp - 0x20]
mov esi, ebx
push dword [ebp - 0x24]
mov ecx, esi
call fcn.004412d2
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
jns 0x440611
push 0xca2
mov eax, dword [esi + 0x60]
jmp 0x440b1b
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x440adb
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 0x44064b
cmp eax, 1
je 0x440863
cmp eax, 0x102
jne 0x44093f
mov ecx, dword [ebp - 0x30]
cmp dword [ebp - 0x20], ecx
jae 0x4408e2
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x440675
mov ecx, dword [eax]
push eax
mov esi, dword [ecx + 8]
mov ecx, esi
call dword [0x47547c]
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 [0x47547c]
mov ecx, dword [ebp - 0x18]
call esi
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
js 0x4409ef
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 [0x47547c]
mov ecx, esi
call ebx
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
js 0x4409e5
cmp dword [ebp - 0x2c], 9
jne 0x44089e
mov ebx, dword [ebp - 0x18]
mov eax, dword [ebx + 0x60]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x47547c]
lea ecx, [ebx + 0x60]
call esi
test eax, eax
je 0x44070a
push dword [ebp - 0x20]
mov eax, dword [ebx + 0x60]
push 0x411450
push 2
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x47547c]
lea ecx, [ebx + 0x60]
call esi
push eax
call fcn.00446f24
add esp, 0x10
push 2
push dword [ebp - 0x20]
mov esi, ebx
push dword [ebp - 0x24]
mov ecx, esi
call fcn.004412d2
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
js 0x4409db
mov ecx, dword [ebp - 0x20]
lea eax, [ebp - 0x20]
xor edx, edx
push eax
inc edx
call fcn.004225ae
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
js 0x4409d1
mov eax, dword [ebp - 0x30]
cmp dword [ebp - 0x20], eax
jae 0x44092f
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x44076e
mov ecx, dword [eax]
push eax
mov esi, dword [ecx + 8]
mov ecx, esi
call dword [0x47547c]
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 [0x47547c]
mov ecx, dword [ebp - 0x18]
call esi
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
js 0x4409c7
mov ebx, dword [ebp - 0x18]
mov eax, dword [ebx + 0x60]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x47547c]
lea ecx, [ebx + 0x60]
call esi
test eax, eax
je 0x4407d4
push dword [ebp - 0x20]
mov eax, dword [ebx + 0x60]
push 0x4113e0
push 2
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x47547c]
lea ecx, [ebx + 0x60]
call esi
push eax
call fcn.00446f24
add esp, 0x10
push 1
push dword [ebp - 0x20]
mov esi, ebx
push dword [ebp - 0x24]
mov ecx, esi
call fcn.004412d2
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
js 0x4409bd
lea ecx, [esi + 0x1e8]
call fcn.0042b4a3
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
js 0x4409b3
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.0042b978
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
js 0x4409a9
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 0x44092f
lea eax, [ebp - 0x44]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetExitCodeThread]
test eax, eax
je 0x44098d
mov ebx, dword [ebp - 0x44]
mov dword [ebp - 0x1c], ebx
test ebx, ebx
jle 0x44088e
movzx ebx, bx
or ebx, 0x80070000
mov dword [ebp - 0x1c], ebx
test ebx, ebx
js 0x440983
xor eax, eax
mov dword [ebp - 0x28], eax
jmp 0x440932
cmp dword [ebp - 0x2c], 0xb
mov esi, dword [ebp - 0x18]
je 0x44092f
cmp dword [ebp - 0x40], 0
je 0x4408be
test byte [esi + 0x2ec], 1
jne 0x4408be
xor eax, eax
jmp 0x4408c1
push 4
pop eax
push eax
push dword [ebp - 0x20]
mov ecx, esi
push dword [ebp - 0x24]
call fcn.004412d2
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
jns 0x44092f
push 0xcf4
jmp 0x440609
cmp eax, 0x102
jne 0x44092f
mov eax, dword [esi + 0x60]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x47547c]
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx + 0x60]
call esi
test eax, eax
je 0x44092c
mov ecx, dword [ebp - 0x18]
push 0x4114b8
push 3
mov eax, dword [ecx + 0x60]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x47547c]
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx + 0x60]
call esi
push eax
call fcn.00446f24
add esp, 0xc
mov esi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x28]
test ebx, ebx
jns 0x440614
jmp 0x440adb
cmp eax, 0xffffffff
je 0x440956
mov ebx, 0x8000ffff
mov dword [ebp - 0x1c], ebx
push 0xd09
jmp 0x440609
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
jle 0x440973
movzx ebx, bx
or ebx, 0x80070000
mov dword [ebp - 0x1c], ebx
test ebx, ebx
jns 0x440b3c
push 0xd04
jmp 0x440609
push 0xcff
jmp 0x440609
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.00418df2
mov ebx, eax
mov dword [ebp - 0x1c], ebx
push 0xcfe
jmp 0x440609
push 0xcda
jmp 0x440609
push 0xcd1
jmp 0x440609
push 0xccd
jmp 0x440609
push 0xccb
jmp 0x440b15
push 0xcc2
jmp 0x440609
push 0xcbe
jmp 0x440609
push 0xcb7
jmp 0x440b15
push 0xcb6
jmp 0x440b15
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x440a14
mov ecx, dword [eax]
push eax
mov esi, dword [ecx + 8]
mov ecx, esi
call dword [0x47547c]
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 [0x47547c]
mov ecx, ebx
call esi
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
js 0x440b10
mov ebx, dword [ebp - 0x18]
mov eax, dword [ebx + 0x60]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x47547c]
lea ecx, [ebx + 0x60]
call esi
test eax, eax
je 0x440a7c
push dword [ebp - 0x20]
mov eax, dword [ebx + 0x60]
push 0x411548
push 2
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x47547c]
lea ecx, [ebx + 0x60]
call esi
push eax
call fcn.00446f24
add esp, 0x10
push 2
push dword [ebp - 0x20]
mov esi, ebx
push dword [ebp - 0x24]
mov ecx, esi
call fcn.004412d2
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
js 0x440b06
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 [0x47547c]
mov ecx, esi
call ebx
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
js 0x440aff
cmp dword [ebp - 0x2c], 9
je 0x440ac3
cmp dword [ebp - 0x2c], 8
jne 0x440ae9
mov ecx, dword [ebp - 0x20]
lea eax, [ebp - 0x20]
xor edx, edx
push eax
inc edx
call fcn.004225ae
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
js 0x440af8
mov eax, dword [ebp - 0x30]
cmp dword [ebp - 0x20], eax
jb 0x4409f9
jmp 0x440b3c
mov ebx, 0x8007139f
mov dword [ebp - 0x1c], ebx
push 0xd19
jmp 0x440b15
push 0xd1b
jmp 0x440b15
push 0xd17
jmp 0x440b15
push 0xd15
jmp 0x440609
push 0xd13
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx + 0x60]
mov esi, dword [eax + 4]
mov ecx, esi
push 0x41133c
call dword [0x47547c]
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx + 0x60]
call esi
mov edx, ebx
mov ecx, eax
call fcn.00446ed9
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx + 0x60]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x47547c]
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx + 0x60]
call esi
test eax, eax
je 0x440b82
mov ecx, dword [ebp - 0x18]
push 0x4115b8
push 2
mov eax, dword [ecx + 0x60]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x47547c]
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx + 0x60]
call esi
push eax
call fcn.00446f24
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 [0x47547c]
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx + 0x60]
call esi
test eax, eax
je 0x440bd1
mov ecx, dword [ebp - 0x18]
push 0x411608
push 2
mov eax, dword [ecx + 0x60]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x47547c]
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx + 0x60]
call esi
push eax
call fcn.00446f24
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 [0x47547c]
lea ecx, [ebx + 8]
call dword [esi]
mov ebx, dword [ebp - 0x1c]
mov ecx, ebx
call fcn.004190b1
test edi, edi
je 0x440c0a
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
or dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x440c25
mov ecx, dword [eax]
push eax
mov esi, dword [ecx + 8]
mov ecx, esi
call dword [0x47547c]
call esi
mov eax, ebx
call fcn.0046cea9
ret