Function at 0x444f08
Capabilities:
Create thread

Disassembly:
push 0x44
mov eax, 0x473a72
call fcn.00471e35
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.004303a1
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
jns 0x444f71
lea ebx, [esi + 0x60]
mov edx, dword [ebx]
push 0xc77
mov esi, dword [edx + 4]
push 0x411f1c
mov ecx, esi
call dword [0x47a4c4]
mov ecx, ebx
call esi
mov ebx, dword [ebp - 0x1c]
mov ecx, eax
mov edx, ebx
call fcn.0044b9c9
jmp 0x445706
mov eax, dword [esi + 0xc0]
lea ecx, [esi + 0x1e8]
mov dword [ebp - 0x30], eax
call fcn.00430063
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
jns 0x444f9d
push 0xc7c
lea ebx, [esi + 0x60]
mov eax, dword [ebx]
mov esi, dword [eax + 4]
jmp 0x444f4f
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.0043053b
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
jns 0x444fdc
push 0xc83
jmp 0x444f93
xor ebx, ebx
push ebx
push ebx
push esi
push 0x43e1f0
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
push eax
lea ecx, [ebp - 0x3c]
call fcn.0041d80b
mov edi, dword [ebp - 0x3c]
test edi, edi
jne 0x44501a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.004247f6
mov ebx, eax
mov dword [ebp - 0x1c], ebx
push 0xc8d
jmp 0x444f93
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 [0x47a4c4]
mov ecx, ebx
call esi
test eax, eax
je 0x445090
mov eax, dword [ebp - 0x18]
push dword [eax + 0x300]
mov eax, dword [ebx]
push 0x411f58
push 2
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x47a4c4]
mov ecx, ebx
call esi
push eax
call fcn.0044ba12
add esp, 0x10
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x4450ab
mov ecx, dword [eax]
push eax
mov esi, dword [ecx + 8]
mov ecx, esi
call dword [0x47a4c4]
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 [0x47a4c4]
mov ecx, ebx
call esi
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
jns 0x4450df
mov eax, dword [ebp - 0x18]
push 0xca0
mov eax, dword [eax + 0x60]
jmp 0x445650
mov ebx, dword [ebp - 0x18]
mov eax, dword [ebx + 0x60]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x47a4c4]
lea ecx, [ebx + 0x60]
call esi
test eax, eax
je 0x44511f
push dword [ebp - 0x20]
mov eax, dword [ebx + 0x60]
push 0x411fc0
push 2
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x47a4c4]
lea ecx, [ebx + 0x60]
call esi
push eax
call fcn.0044ba12
add esp, 0x10
push 1
push dword [ebp - 0x20]
mov esi, ebx
push dword [ebp - 0x24]
mov ecx, esi
call fcn.00445e09
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
jns 0x445146
push 0xca2
mov eax, dword [esi + 0x60]
jmp 0x445650
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x445610
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 0x445180
cmp eax, 1
je 0x445398
cmp eax, 0x102
jne 0x445474
mov ecx, dword [ebp - 0x30]
cmp dword [ebp - 0x20], ecx
jae 0x445417
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x4451aa
mov ecx, dword [eax]
push eax
mov esi, dword [ecx + 8]
mov ecx, esi
call dword [0x47a4c4]
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 [0x47a4c4]
mov ecx, dword [ebp - 0x18]
call esi
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
js 0x445524
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 [0x47a4c4]
mov ecx, esi
call ebx
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
js 0x44551a
cmp dword [ebp - 0x2c], 9
jne 0x4453d3
mov ebx, dword [ebp - 0x18]
mov eax, dword [ebx + 0x60]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x47a4c4]
lea ecx, [ebx + 0x60]
call esi
test eax, eax
je 0x44523f
push dword [ebp - 0x20]
mov eax, dword [ebx + 0x60]
push 0x412030
push 2
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x47a4c4]
lea ecx, [ebx + 0x60]
call esi
push eax
call fcn.0044ba12
add esp, 0x10
push 2
push dword [ebp - 0x20]
mov esi, ebx
push dword [ebp - 0x24]
mov ecx, esi
call fcn.00445e09
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
js 0x445510
mov ecx, dword [ebp - 0x20]
lea eax, [ebp - 0x20]
xor edx, edx
push eax
inc edx
call fcn.004258c2
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
js 0x445506
mov eax, dword [ebp - 0x30]
cmp dword [ebp - 0x20], eax
jae 0x445464
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x4452a3
mov ecx, dword [eax]
push eax
mov esi, dword [ecx + 8]
mov ecx, esi
call dword [0x47a4c4]
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 [0x47a4c4]
mov ecx, dword [ebp - 0x18]
call esi
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
js 0x4454fc
mov ebx, dword [ebp - 0x18]
mov eax, dword [ebx + 0x60]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x47a4c4]
lea ecx, [ebx + 0x60]
call esi
test eax, eax
je 0x445309
push dword [ebp - 0x20]
mov eax, dword [ebx + 0x60]
push 0x411fc0
push 2
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x47a4c4]
lea ecx, [ebx + 0x60]
call esi
push eax
call fcn.0044ba12
add esp, 0x10
push 1
push dword [ebp - 0x20]
mov esi, ebx
push dword [ebp - 0x24]
mov ecx, esi
call fcn.00445e09
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
js 0x4454f2
lea ecx, [esi + 0x1e8]
call fcn.00430063
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
js 0x4454e8
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.0043053b
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
js 0x4454de
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 0x445464
lea eax, [ebp - 0x44]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetExitCodeThread]
test eax, eax
je 0x4454c2
mov ebx, dword [ebp - 0x44]
mov dword [ebp - 0x1c], ebx
test ebx, ebx
jle 0x4453c3
movzx ebx, bx
or ebx, 0x80070000
mov dword [ebp - 0x1c], ebx
test ebx, ebx
js 0x4454b8
xor eax, eax
mov dword [ebp - 0x28], eax
jmp 0x445467
cmp dword [ebp - 0x2c], 0xb
mov esi, dword [ebp - 0x18]
je 0x445464
cmp dword [ebp - 0x40], 0
je 0x4453f3
test byte [esi + 0x2ec], 1
jne 0x4453f3
xor eax, eax
jmp 0x4453f6
push 4
pop eax
push eax
push dword [ebp - 0x20]
mov ecx, esi
push dword [ebp - 0x24]
call fcn.00445e09
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
jns 0x445464
push 0xcf4
jmp 0x44513e
cmp eax, 0x102
jne 0x445464
mov eax, dword [esi + 0x60]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x47a4c4]
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx + 0x60]
call esi
test eax, eax
je 0x445461
mov ecx, dword [ebp - 0x18]
push 0x412098
push 3
mov eax, dword [ecx + 0x60]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x47a4c4]
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx + 0x60]
call esi
push eax
call fcn.0044ba12
add esp, 0xc
mov esi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x28]
test ebx, ebx
jns 0x445149
jmp 0x445610
cmp eax, 0xffffffff
je 0x44548b
mov ebx, 0x8000ffff
mov dword [ebp - 0x1c], ebx
push 0xd09
jmp 0x44513e
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
jle 0x4454a8
movzx ebx, bx
or ebx, 0x80070000
mov dword [ebp - 0x1c], ebx
test ebx, ebx
jns 0x445671
push 0xd04
jmp 0x44513e
push 0xcff
jmp 0x44513e
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.004247f6
mov ebx, eax
mov dword [ebp - 0x1c], ebx
push 0xcfe
jmp 0x44513e
push 0xcda
jmp 0x44513e
push 0xcd1
jmp 0x44513e
push 0xccd
jmp 0x44513e
push 0xccb
jmp 0x44564a
push 0xcc2
jmp 0x44513e
push 0xcbe
jmp 0x44513e
push 0xcb7
jmp 0x44564a
push 0xcb6
jmp 0x44564a
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x445549
mov ecx, dword [eax]
push eax
mov esi, dword [ecx + 8]
mov ecx, esi
call dword [0x47a4c4]
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 [0x47a4c4]
mov ecx, ebx
call esi
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
js 0x445645
mov ebx, dword [ebp - 0x18]
mov eax, dword [ebx + 0x60]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x47a4c4]
lea ecx, [ebx + 0x60]
call esi
test eax, eax
je 0x4455b1
push dword [ebp - 0x20]
mov eax, dword [ebx + 0x60]
push 0x412128
push 2
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x47a4c4]
lea ecx, [ebx + 0x60]
call esi
push eax
call fcn.0044ba12
add esp, 0x10
push 2
push dword [ebp - 0x20]
mov esi, ebx
push dword [ebp - 0x24]
mov ecx, esi
call fcn.00445e09
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
js 0x44563b
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 [0x47a4c4]
mov ecx, esi
call ebx
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
js 0x445634
cmp dword [ebp - 0x2c], 9
je 0x4455f8
cmp dword [ebp - 0x2c], 8
jne 0x44561e
mov ecx, dword [ebp - 0x20]
lea eax, [ebp - 0x20]
xor edx, edx
push eax
inc edx
call fcn.004258c2
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
js 0x44562d
mov eax, dword [ebp - 0x30]
cmp dword [ebp - 0x20], eax
jb 0x44552e
jmp 0x445671
mov ebx, 0x8007139f
mov dword [ebp - 0x1c], ebx
push 0xd19
jmp 0x44564a
push 0xd1b
jmp 0x44564a
push 0xd17
jmp 0x44564a
push 0xd15
jmp 0x44513e
push 0xd13
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx + 0x60]
mov esi, dword [eax + 4]
mov ecx, esi
push 0x411f1c
call dword [0x47a4c4]
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx + 0x60]
call esi
mov edx, ebx
mov ecx, eax
call fcn.0044b9c9
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx + 0x60]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x47a4c4]
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx + 0x60]
call esi
test eax, eax
je 0x4456b7
mov ecx, dword [ebp - 0x18]
push 0x412198
push 2
mov eax, dword [ecx + 0x60]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x47a4c4]
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx + 0x60]
call esi
push eax
call fcn.0044ba12
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 [0x47a4c4]
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx + 0x60]
call esi
test eax, eax
je 0x445706
mov ecx, dword [ebp - 0x18]
push 0x4121e8
push 2
mov eax, dword [ecx + 0x60]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x47a4c4]
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx + 0x60]
call esi
push eax
call fcn.0044ba12
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 [0x47a4c4]
lea ecx, [ebx + 8]
call dword [esi]
mov ebx, dword [ebp - 0x1c]
mov ecx, ebx
call fcn.00427547
test edi, edi
je 0x44573f
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
or dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x44575a
mov ecx, dword [eax]
push eax
mov esi, dword [ecx + 8]
mov ecx, esi
call dword [0x47a4c4]
call esi
mov eax, ebx
call fcn.00471de9
ret