Function at 0x44ac9d
Capabilities:
Create thread

Disassembly:
push 0x44
mov eax, 0x48a8c7
call fcn.0047dc56
mov esi, ecx
mov dword [ebp - 0x18], esi
and dword [ebp - 0x20], 0
and dword [ebp - 4], 0
xor edi, edi
mov dword [ebp - 0x28], edi
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x24]
lea ecx, [esi + 0x1f4]
push eax
call fcn.0043bf4d
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
jns 0x44ad19
lea eax, [esi + 0x60]
mov ecx, dword [eax]
mov dword [ebp - 0x28], eax
mov esi, dword [ecx + 8]
mov ecx, esi
call dword [0x4928c8]
mov ecx, dword [ebp - 0x28]
call esi
test eax, eax
je 0x44b5f0
mov eax, dword [ebp - 0x28]
push 0xd0a
push 0x4102ec
mov eax, dword [eax]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x4928c8]
mov ecx, dword [ebp - 0x28]
jmp 0x44b5e5
mov eax, dword [esi + 0xd4]
lea ecx, [esi + 0x218]
mov dword [ebp - 0x38], eax
call fcn.0043bcc7
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
jns 0x44ad78
lea eax, [esi + 0x60]
mov dword [ebp - 0x28], eax
mov eax, dword [eax]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x4928c8]
mov ecx, dword [ebp - 0x28]
call esi
test eax, eax
je 0x44b5f0
mov eax, dword [ebp - 0x28]
push 0xd0f
push 0x4102ec
mov eax, dword [eax]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x4928c8]
mov ecx, dword [ebp - 0x28]
jmp 0x44b5e5
and dword [esi + 0x370], edi
lea eax, [ebp - 0x48]
and dword [esi + 0x374], edi
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
mov ecx, dword [esi + 0x2c8]
mov eax, dword [ebp - 0x24]
push dword [ebp - 0x44]
push dword [ebp - 0x48]
mov ecx, dword [ecx + eax*4]
call fcn.0043c0bf
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
jns 0x44adf0
lea eax, [esi + 0x60]
mov dword [ebp - 0x28], eax
mov eax, dword [eax]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x4928c8]
mov ecx, dword [ebp - 0x28]
call esi
test eax, eax
je 0x44b5f0
mov eax, dword [ebp - 0x28]
push 0xd16
push 0x4102ec
mov eax, dword [eax]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x4928c8]
mov ecx, dword [ebp - 0x28]
jmp 0x44b5e5
push dword [esi + 0x7c]
call dword [sym.imp.KERNEL32.dll_ResetEvent]
test eax, eax
jne 0x44ae50
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.004324dd
mov ebx, eax
lea eax, [esi + 0x60]
mov dword [ebp - 0x28], eax
mov eax, dword [eax]
mov dword [ebp - 0x1c], ebx
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x4928c8]
mov ecx, dword [ebp - 0x28]
call esi
test eax, eax
je 0x44b5f0
mov eax, dword [ebp - 0x28]
push 0xd1a
push 0x4102ec
mov eax, dword [eax]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x4928c8]
mov ecx, dword [ebp - 0x28]
jmp 0x44b5e5
push dword [esi + 0x80]
call dword [sym.imp.KERNEL32.dll_ResetEvent]
test eax, eax
jne 0x44aeb3
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.004324dd
mov ebx, eax
lea eax, [esi + 0x60]
mov dword [ebp - 0x28], eax
mov eax, dword [eax]
mov dword [ebp - 0x1c], ebx
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x4928c8]
mov ecx, dword [ebp - 0x28]
call esi
test eax, eax
je 0x44b5f0
mov eax, dword [ebp - 0x28]
push 0xd1b
push 0x4102ec
mov eax, dword [eax]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x4928c8]
mov ecx, dword [ebp - 0x28]
jmp 0x44b5e5
push dword [esi + 0x84]
call dword [sym.imp.KERNEL32.dll_ResetEvent]
test eax, eax
jne 0x44af16
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.004324dd
mov ebx, eax
lea eax, [esi + 0x60]
mov dword [ebp - 0x28], eax
mov eax, dword [eax]
mov dword [ebp - 0x1c], ebx
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x4928c8]
mov ecx, dword [ebp - 0x28]
call esi
test eax, eax
je 0x44b5f0
mov eax, dword [ebp - 0x28]
push 0xd1c
push 0x4102ec
mov eax, dword [eax]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x4928c8]
mov ecx, dword [ebp - 0x28]
jmp 0x44b5e5
xor ebx, ebx
push ebx
push ebx
push esi
push 0x4415d0
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
push eax
lea ecx, [ebp - 0x28]
call fcn.004323bf
mov edi, dword [ebp - 0x28]
test edi, edi
sete cl
mov byte [ebp - 0x11], cl
test edi, edi
jne 0x44af93
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.004324dd
mov ebx, eax
lea eax, [esi + 0x60]
mov dword [ebp - 0x28], eax
mov eax, dword [eax]
mov dword [ebp - 0x1c], ebx
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x4928c8]
mov ecx, dword [ebp - 0x28]
call esi
test eax, eax
je 0x44b5f0
mov eax, dword [ebp - 0x28]
push 0xd26
push 0x4102ec
mov eax, dword [eax]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x4928c8]
mov ecx, dword [ebp - 0x28]
jmp 0x44b5e5
mov eax, dword [esi + 0x80]
mov dword [ebp - 0x50], eax
mov eax, ebx
test cl, cl
jne 0x44afa4
mov eax, edi
mov dword [ebp - 0x4c], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esi + 0x378], ebx
mov dword [esi + 0x37c], ebx
mov dword [esi + 0x380], ebx
mov dword [esi + 0x384], ebx
lea ebx, [esi + 0x60]
mov dword [esi + 0x36c], eax
mov eax, dword [ebx]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x4928c8]
mov ecx, ebx
call esi
test eax, eax
je 0x44b013
mov eax, dword [ebp - 0x18]
mov ebx, dword [eax + 0x368]
mov eax, dword [eax + 0x60]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x4928c8]
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx + 0x60]
call esi
push ebx
push 0x410320
push 2
push eax
call fcn.00456145
add esp, 0x10
lea ecx, [ebp - 0x20]
call fcn.0045560c
mov ebx, dword [ebp - 0x18]
mov eax, dword [ebx]
mov esi, dword [eax + 0x3c]
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x24]
mov ecx, esi
call dword [0x4928c8]
mov ecx, ebx
call esi
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
jns 0x44b06a
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx + 0x60]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x4928c8]
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx + 0x60]
call esi
test eax, eax
je 0x44b5f0
push 0xd39
jmp 0x44b5c9
mov esi, dword [ebp - 0x18]
lea eax, [ebp - 0x28]
push eax
push dword [ebp - 0x24]
mov ecx, esi
mov dword [ebp - 0x28], 1
push dword [ebp - 0x20]
call fcn.0044c22c
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
jns 0x44b0b6
mov eax, dword [esi + 0x60]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x4928c8]
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx + 0x60]
call esi
test eax, eax
je 0x44b5f0
push 0xd3b
jmp 0x44b5c9
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x30], eax
push dword [esi + 0x368]
lea eax, [ebp - 0x50]
push 0
push eax
push 2
call dword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
mov dword [ebp - 0x34], eax
test eax, eax
je 0x44b0eb
cmp eax, 1
je 0x44b3b6
cmp eax, 0x102
jne 0x44b336
lea ecx, [ebp - 0x20]
call fcn.0045560c
mov eax, dword [esi]
mov esi, dword [eax + 0x50]
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x20]
mov ecx, esi
push eax
call dword [0x4928c8]
mov ecx, dword [ebp - 0x18]
call esi
mov ebx, eax
mov dword [ebp - 0x1c], ebx
cmp ebx, 0x80070490
jne 0x44b121
xor ebx, ebx
mov dword [ebp - 0x1c], ebx
jmp 0x44b129
test ebx, ebx
js 0x44b5a7
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x44b24d
mov eax, dword [esi]
mov ebx, dword [eax + 0xc]
lea eax, [ebp - 0x2c]
push eax
mov ecx, ebx
call dword [0x4928c8]
mov ecx, esi
call ebx
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
js 0x44b478
mov eax, dword [ebp - 0x2c]
test eax, eax
jne 0x44b19c
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x24]
je 0x44b1f5
mov esi, dword [ebp - 0x18]
lea eax, [ebp - 0x28]
push eax
push dword [ebp - 0x24]
mov ecx, esi
mov dword [ebp - 0x28], 1
push dword [ebp - 0x20]
call fcn.0044c22c
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
js 0x44b450
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x30], eax
jmp 0x44b250
cmp eax, 6
jne 0x44b1ee
mov esi, dword [ebp - 0x18]
lea eax, [ebp - 0x28]
or dword [ebp - 0x28], 2
mov ecx, esi
push eax
push dword [ebp - 0x24]
push dword [ebp - 0x20]
call fcn.0044c22c
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
jns 0x44b250
mov eax, dword [esi + 0x60]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x4928c8]
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx + 0x60]
call esi
test eax, eax
je 0x44b5f0
push 0xd5f
jmp 0x44b5c9
cmp eax, 0xc0000000
je 0x44b24d
cmp dword [ebp - 0x34], 0
mov esi, dword [ebp - 0x18]
je 0x44b207
test byte [esi + 0x354], 1
je 0x44b20b
or dword [ebp - 0x28], 4
lea eax, [ebp - 0x28]
mov ecx, esi
push eax
push dword [ebp - 0x24]
push dword [ebp - 0x20]
call fcn.0044c22c
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
jns 0x44b250
mov eax, dword [esi + 0x60]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x4928c8]
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx + 0x60]
call esi
test eax, eax
je 0x44b5f0
push 0xd6e
jmp 0x44b5c9
mov esi, dword [ebp - 0x18]
cmp dword [ebp - 0x34], 0
jne 0x44b26a
push dword [esi + 0x84]
call dword [sym.imp.KERNEL32.dll_SetEvent]
test eax, eax
je 0x44b4a3
test ebx, ebx
jns 0x44b0bc
cmp dword [esi + 0x34c], 0
jne 0x44b5f3
mov eax, dword [ebp - 0x38]
cmp dword [ebp - 0x24], eax
jae 0x44b5f3
lea ecx, [ebp - 0x20]
call fcn.0045560c
mov eax, dword [esi]
mov esi, dword [eax + 0x3c]
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x24]
mov ecx, esi
call dword [0x4928c8]
mov ecx, dword [ebp - 0x18]
call esi
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
js 0x44b583
mov esi, dword [ebp - 0x18]
lea eax, [ebp - 0x28]
or dword [ebp - 0x28], 2
mov ecx, esi
push eax
push dword [ebp - 0x24]
push dword [ebp - 0x20]
call fcn.0044c22c
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
js 0x44b562
mov esi, dword [ebp - 0x20]
mov eax, dword [esi]
mov ebx, dword [eax + 0xc]
lea eax, [ebp - 0x2c]
push eax
mov ecx, ebx
call dword [0x4928c8]
mov ecx, esi
call ebx
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
js 0x44b53a
cmp dword [ebp - 0x2c], 6
je 0x44b313
cmp dword [ebp - 0x2c], 4
jne 0x44b4dc
lea eax, [ebp - 0x24]
push eax
push 1
push dword [ebp - 0x24]
call fcn.00436c5a
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
js 0x44b50f
mov esi, dword [ebp - 0x18]
jmp 0x44b27f
cmp eax, 0xffffffff
je 0x44b36b
mov eax, dword [esi + 0x60]
mov ebx, 0x8000ffff
mov dword [ebp - 0x1c], ebx
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x4928c8]
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx + 0x60]
call esi
test eax, eax
je 0x44b5f0
push 0xd88
jmp 0x44b5c9
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
jle 0x44b388
movzx ebx, bx
or ebx, 0x80070000
mov dword [ebp - 0x1c], ebx
test ebx, ebx
jns 0x44b5f3
mov eax, dword [esi + 0x60]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x4928c8]
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx + 0x60]
call esi
test eax, eax
je 0x44b5f0
push 0xd83
jmp 0x44b5c9
cmp byte [ebp - 0x11], 0
je 0x44b3c0
xor eax, eax
jmp 0x44b3c2
mov eax, edi
lea ecx, [ebp - 0x3c]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetExitCodeThread]
test eax, eax
je 0x44b417
mov ebx, dword [ebp - 0x3c]
mov dword [ebp - 0x1c], ebx
test ebx, ebx
jle 0x44b3e9
movzx ebx, bx
or ebx, 0x80070000
mov dword [ebp - 0x1c], ebx
test ebx, ebx
jns 0x44b272
mov eax, dword [esi + 0x60]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x4928c8]
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx + 0x60]
call esi
test eax, eax
je 0x44b5f0
push 0xd7e
jmp 0x44b5c9
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.004324dd
mov ebx, eax
mov eax, dword [esi + 0x60]
mov dword [ebp - 0x1c], ebx
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x4928c8]
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx + 0x60]
call esi
test eax, eax
je 0x44b5f0
push 0xd7d
jmp 0x44b5c9
mov eax, dword [esi + 0x60]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x4928c8]
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx + 0x60]
call esi
test eax, eax
je 0x44b5f0
push 0xd57
jmp 0x44b5c9
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx + 0x60]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x4928c8]
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx + 0x60]
call esi
test eax, eax
je 0x44b5f0
push 0xd51
jmp 0x44b5c9
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.004324dd
mov ebx, eax
mov eax, dword [esi + 0x60]
mov dword [ebp - 0x1c], ebx
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x4928c8]
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx + 0x60]
call esi
test eax, eax
je 0x44b5f0
push 0xd77
jmp 0x44b5c9
mov ecx, dword [ebp - 0x18]
mov ebx, 0x8007139f
mov dword [ebp - 0x1c], ebx
mov eax, dword [ecx + 0x60]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x4928c8]
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx + 0x60]
call esi
test eax, eax
je 0x44b5f0
push 0xd9b
jmp 0x44b5c9
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx + 0x60]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x4928c8]
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx + 0x60]
call esi
test eax, eax
je 0x44b5f0
push 0xd9d
jmp 0x44b5c9
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx + 0x60]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x4928c8]
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx + 0x60]
call esi
test eax, eax
je 0x44b5f0
push 0xd99
jmp 0x44b5c9
mov eax, dword [esi + 0x60]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x4928c8]
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx + 0x60]
call esi
test eax, eax
je 0x44b5f0
push 0xd96
jmp 0x44b5c9
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx + 0x60]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x4928c8]
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx + 0x60]
call esi
test eax, eax
je 0x44b5f0
push 0xd94
jmp 0x44b5c9
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx + 0x60]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x4928c8]
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx + 0x60]
call esi
test eax, eax
je 0x44b5f0
push 0xd4e
mov ecx, dword [ebp - 0x18]
push 0x4102ec
mov eax, dword [ecx + 0x60]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x4928c8]
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx + 0x60]
call esi
mov edx, ebx
mov ecx, eax
call fcn.00456239
mov esi, dword [ebp - 0x18]
test edi, edi
sete byte [ebp - 0x11]
test edi, edi
je 0x44b786
lea eax, [esi + 0x60]
mov dword [ebp - 0x28], eax
mov eax, dword [eax]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x4928c8]
mov ecx, dword [ebp - 0x28]
call esi
test eax, eax
je 0x44b642
mov eax, dword [ebp - 0x28]
push 0x410380
push 2
mov eax, dword [eax]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x4928c8]
mov ecx, dword [ebp - 0x28]
call esi
push eax
call fcn.00456145
add esp, 0xc
mov esi, dword [ebp - 0x18]
push dword [esi + 0x7c]
call dword [sym.imp.KERNEL32.dll_SetEvent]
test ebx, ebx
jns 0x44b6f5
lea ecx, [ebp - 0x20]
call fcn.0045560c
mov eax, dword [esi]
mov esi, dword [eax + 0x50]
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x20]
mov ecx, esi
push eax
call dword [0x4928c8]
mov ecx, dword [ebp - 0x18]
call esi
test eax, eax
js 0x44b6f5
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x44b6f5
mov eax, dword [esi]
mov ebx, dword [eax + 0xc]
lea eax, [ebp - 0x2c]
push eax
mov ecx, ebx
call dword [0x4928c8]
mov ecx, esi
call ebx
test eax, eax
js 0x44b6f2
cmp dword [ebp - 0x2c], 3
jne 0x44b6f2
mov ebx, dword [ebp - 0x28]
mov eax, dword [ebx]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x4928c8]
mov ecx, ebx
call esi
test eax, eax
je 0x44b6db
mov eax, dword [ebx]
push 0x4103d0
push 2
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x4928c8]
mov ecx, ebx
call esi
push eax
call fcn.00456145
add esp, 0xc
mov esi, dword [ebp - 0x20]
push dword [ebp - 0x18]
mov eax, dword [esi]
mov ebx, dword [eax + 0x14]
mov ecx, ebx
call dword [0x4928c8]
mov ecx, esi
call ebx
mov ebx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x4928c8]
mov ecx, dword [ebp - 0x28]
call esi
test eax, eax
je 0x44b733
mov eax, dword [ebp - 0x28]
push 0x410410
push 2
mov eax, dword [eax]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x4928c8]
mov ecx, dword [ebp - 0x28]
call esi
push eax
call fcn.00456145
add esp, 0xc
cmp byte [ebp - 0x11], 0
je 0x44b73d
xor eax, eax
jmp 0x44b73f
mov eax, edi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x4928c8]
mov ecx, dword [ebp - 0x28]
call esi
test eax, eax
je 0x44b786
mov eax, dword [ebp - 0x28]
push 0x410458
push 2
mov eax, dword [eax]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x4928c8]
mov ecx, dword [ebp - 0x28]
call esi
push eax
call fcn.00456145
add esp, 0xc
mov dword [ebp - 0x40], ebx
xor ecx, ecx
mov ebx, dword [ebp - 0x18]
push ecx
push ecx
mov eax, dword [ebx + 8]
mov esi, dword [eax]
lea eax, [ebp - 0x40]
push eax
push ecx
push 0x2004
mov ecx, esi
call dword [0x4928c8]
lea ecx, [ebx + 8]
call esi
mov esi, dword [ebp - 0x1c]
push esi
call fcn.00432150
mov dword [ebp - 4], 1
cmp byte [ebp - 0x11], 0
jne 0x44b7c9
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20]
call fcn.0045560c
mov eax, esi
call fcn.0047dc27
ret