Function at 0x44e12c
Capabilities:
Create thread

Disassembly:
push 0x154
mov eax, 0x497ef7
call fcn.0046aef2
mov ebx, ecx
mov esi, dword [ebp + 8]
lea eax, [ebp - 0x60]
push esi
push eax
call fcn.00450c81
and dword [ebp - 4], 0
lea eax, [ebp - 0xb8]
push esi
push eax
mov ecx, ebx
call fcn.00450f23
mov byte [ebp - 4], 1
mov al, byte [ebp + 0x10]
test al, al
je 0x44e185
lea eax, [ebp - 0x60]
mov ecx, ebx
push eax
call fcn.0044d4e5
test al, al
je 0x44e182
push dword [ebp - 0xb8]
jmp 0x44f26e
mov al, byte [ebp + 0x10]
cmp dword [ebx + 0x110], 0
jne 0x44e19c
push 0x1778
mov ecx, ebx
call fcn.00444f62
jmp 0x44e177
cmp byte [ebp + 0xc], 0
je 0x44e1bd
test al, al
je 0x44e1b7
lea edx, [ebp - 0x60]
mov ecx, str._exe_bat_ps1_com_chm_msi_doc_xls_ppt_pps_wps_wpt_wks_xlr_wdb_vsd_pub_docx_docm_dotx_dotm_xlsx_xlsm_xltx_xltm_xlsb_xps_xlam_pptx_pptm_potx_potm_ppam_ppsx_ppsm_xsn_mpp_msg_dwf_flv_swf_odt_ods_wb3_pdf
call fcn.0044cbf4
test al, al
jne 0x44e1bd
mov byte [ebp + 0xf], 1
jmp 0x44e1c1
mov byte [ebp + 0xf], 0
push dword [ebp - 0xb4]
mov edi, dword [ebp - 0xb8]
lea eax, [ebx + 0xe0]
push edi
push dword [eax + 4]
lea ecx, [ebp - 0x78]
mov dword [ebp - 0xe8], eax
push dword [eax]
call fcn.004029ec
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x2c]
mov byte [ebp - 0x30], 0
call fcn.00402a89
push 0x4a9394
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 3
call fcn.00405682
test al, al
jne 0x44e240
push 0x4a5ad0
lea ecx, [ebp + 0x10]
call fcn.004231e1
push ecx
mov byte [ebp - 4], 4
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov ecx, ebx
call fcn.00444e6f
mov ecx, dword [ebp + 0x10]
lea ecx, [ecx - 0x10]
call fcn.0042376a
mov byte [ebp - 4], 5
jmp 0x44f253
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x90]
call fcn.00402b57
lea eax, [ebp - 0x90]
mov byte [ebp - 4], 6
push eax
lea ecx, [ebp - 0x84]
call fcn.00402b57
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 7
call fcn.0040700d
lea edx, [ebp - 0x60]
lea ecx, [ebp - 0x6c]
call fcn.00419877
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x54]
push dword [eax + 4]
mov esi, dword [ebp - 0x84]
push dword [eax]
push dword [ebp - 0x80]
push esi
call fcn.004029ec
mov byte [ebp - 4], 0xa
push dword [ebp - 0x6c]
call fcn.0046a358
pop ecx
lea ecx, [ebp - 0x160]
call fcn.0044911d
mov eax, dword [ebp + 8]
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 0xb
mov dword [ebp - 0x160], eax
lea eax, [ebp - 0xb8]
push eax
call fcn.00402c3b
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp - 0x150]
call fcn.00402c3b
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebp - 0x144]
call fcn.00402c3b
cmp byte [ebp + 0xf], 0
mov byte [ebp - 0x100], 1
je 0x44e4db
and dword [ebp - 0x14], 0
mov byte [ebp - 4], 0xc
lea edx, [ebp - 0x14]
mov eax, dword [ebx + 0xfc]
push edx
push 0x4a6be8
push eax
mov ecx, dword [eax]
call dword [ecx]
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x44e4cd
and dword [ebp - 0x18], 0
lea edx, [ebp - 0x18]
mov byte [ebp - 4], 0xd
mov ecx, dword [eax]
push edx
push dword [ebp + 8]
push eax
call dword [ecx + 0xc]
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x44e4bc
and dword [ebp - 0x20], 0
lea edx, [ebp - 0x20]
mov byte [ebp - 4], 0xe
mov ecx, dword [eax]
push edx
push 0x4a68b0
push eax
call dword [ecx]
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x44e4ab
cmp dword [ebp + 0x1c], 0
lea ecx, [ebp - 0x6c]
mov eax, 0x4a4398
cmovne eax, dword [ebp + 0x1c]
push eax
call fcn.00402ad0
push ecx
lea eax, [ebp + 0xf]
mov byte [ebp - 4], 0xf
push eax
lea eax, [ebp - 0x6c]
mov ecx, ebx
push eax
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x160]
push eax
push dword [ebp - 0x20]
call fcn.0044c854
mov byte [ebp - 4], 0xe
push dword [ebp - 0x6c]
mov dword [ebp + 0xc], eax
call fcn.0046a358
mov eax, dword [ebp + 0xc]
pop ecx
test eax, eax
jne 0x44e427
mov ecx, ebx
mov byte [ebp - 0x30], al
call fcn.0044fcaa
mov byte [ebp - 4], 0x10
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x44e3d5
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x11
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x44e3e6
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x12
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x44e3f7
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x160]
call fcn.00443f86
push dword [ebp - 0x54]
call fcn.0046a358
pop ecx
push esi
call fcn.0046a358
pop ecx
push dword [ebp - 0x90]
call fcn.0046a358
pop ecx
mov byte [ebp - 4], 0x13
jmp 0x44f253
cmp eax, 0x80004004
je 0x44e5c0
cmp eax, 1
jne 0x44e5c0
cmp byte [ebp + 0x10], 0
jne 0x44e4a4
mov byte [ebp - 4], 0x18
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x44e452
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x19
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x44e463
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x1a
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x44e474
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x160]
call fcn.00443f86
push dword [ebp - 0x54]
call fcn.0046a358
pop ecx
push esi
call fcn.0046a358
pop ecx
push dword [ebp - 0x90]
call fcn.0046a358
pop ecx
mov byte [ebp - 4], 0x1b
jmp 0x44f253
mov eax, dword [ebp - 0x20]
mov byte [ebp + 0xf], 0
mov byte [ebp - 4], 0x1c
test eax, eax
je 0x44e4b9
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 0x1d
test eax, eax
je 0x44e4ca
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0x1e
test eax, eax
je 0x44e4db
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
xor eax, eax
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], eax
push dword [ebp + 8]
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x1f
call fcn.00401ba1
xor eax, eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], eax
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0xa0]
mov byte [ebp - 0xd], al
call fcn.00402a89
mov byte [ebp - 4], 0x21
mov eax, dword [ebx + 0xf0]
test eax, eax
je 0x44e553
mov ecx, eax
mov eax, dword [ebx + 0xec]
mov ecx, dword [eax + ecx*4 - 4]
mov al, byte [ecx + 0x7c]
mov byte [ebp - 0xd], al
lea eax, [ecx + 0x80]
push eax
lea ecx, [ebp - 0xa0]
call fcn.00402c3b
mov eax, dword [ebx + 0xf0]
and dword [ebp - 0x38], 0
and dword [ebp - 0x34], 0
mov byte [ebp - 4], 0x22
test eax, eax
je 0x44e5a2
mov eax, dword [ebx + 0xec]
mov edx, dword [eax]
cmp byte [edx + 0x8c], 0
jne 0x44e5a2
cmp dword [edx + 0x20], 0
je 0x44e5a2
push 0x4a9370
add edx, 0x1c
lea ecx, [ebp - 0x48]
call fcn.00402a57
pop ecx
mov byte [ebp - 4], 0x23
lea edx, [ebp - 0x38]
mov ecx, dword [eax]
call fcn.0044e03f
push dword [ebp - 0x48]
call fcn.0046a358
pop ecx
xor ecx, ecx
xor esi, esi
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0xe4], esi
mov eax, dword [ebp + 8]
mov byte [ebp - 4], 0x24
cmp eax, 0xffffffff
jne 0x44e623
mov byte [ebp - 0x19], cl
jmp 0x44e630
mov byte [ebp - 4], 0x14
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x44e5d1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x15
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x44e5e2
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x16
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x44e5f3
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x160]
call fcn.00443f86
push dword [ebp - 0x54]
call fcn.0046a358
pop ecx
push esi
call fcn.0046a358
pop ecx
push dword [ebp - 0x90]
call fcn.0046a358
pop ecx
mov byte [ebp - 4], 0x17
jmp 0x44f253
push 0x3f
push eax
mov ecx, ebx
call fcn.0045104b
mov byte [ebp - 0x19], al
lea ecx, [ebp - 0xe0]
call fcn.0042e4d2
mov al, byte [ebp - 0x19]
mov byte [ebp - 4], 0x25
cmp byte [ebp + 0xf], 0
mov byte [ebp - 0xdd], 1
mov byte [ebp - 0xdc], al
je 0x44e7d1
xor eax, eax
and dword [ebp - 0xf0], eax
mov dword [ebp - 0xf8], eax
mov byte [ebp - 4], 0x26
lea edx, [ebp - 0xf8]
mov eax, dword [ebx + 0xfc]
push edx
push 7
push dword [ebp + 8]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x14]
and dword [ebp - 0x20], 0
cmp byte [0x4c8973], 0
mov dword [ebp - 0x94], 0x400000
je 0x44e6b5
mov ecx, dword [0x4c8ad0]
mov eax, dword [0x4c8ad4]
shrd ecx, eax, 2
shr eax, 2
mov dword [ebp - 0x94], ecx
mov dword [ebp - 0x20], eax
xorps xmm0, xmm0
lea edx, [ebp - 0x48]
lea ecx, [ebp - 0xf8]
movlpd qword [ebp - 0x48], xmm0
call fcn.0040c0a8
mov ecx, dword [ebp - 0x94]
test al, al
jne 0x44e6df
mov eax, dword [ebp - 0x20]
mov edx, ecx
mov dword [ebp - 0x18], eax
jmp 0x44e6eb
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x40], edx
cmp dword [ebp - 0x18], eax
ja 0x44e7b8
jb 0x44e701
cmp edx, ecx
ja 0x44e7b8
xor ecx, ecx
cmp dword [ebp - 0x18], ecx
ja 0x44e710
cmp edx, ecx
jbe 0x44e7b8
push 0x48
mov byte [ebp - 0xe0], 1
call fcn.0046a4f4
pop ecx
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x94], eax
xor ecx, ecx
mov dword [eax + 4], ecx
mov dword [eax], vtable.CVirtFileSystem.0
mov dword [eax + 0x1c], ecx
mov dword [eax + 0x20], ecx
mov dword [eax + 0x24], ecx
mov dword [eax + 0x28], ecx
mov dword [eax + 0x2c], ecx
lea esi, [eax + 0x38]
mov byte [ebp - 4], 0x29
or dword [eax + 0x30], 0xffffffff
mov ecx, esi
or dword [eax + 0x34], 0xffffffff
call fcn.00402a89
mov byte [ebp - 4], 0x26
mov ecx, dword [ebp - 0x14]
push ecx
lea ecx, [ebp - 0xe4]
call fcn.0040a892
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x14]
add ecx, 0x400
mov edx, dword [ebp - 0x18]
adc edx, 0
mov dword [eax + 0x30], ecx
mov ecx, esi
mov dword [eax + 0x34], edx
lea eax, [ebp - 0x84]
push eax
call fcn.00402c3b
mov eax, dword [ebp - 0x14]
xor ecx, ecx
mov esi, dword [ebp - 0xe4]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov word [eax + 0x18], cx
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], ecx
mov dword [ebp - 0xbc], esi
mov dword [ebp - 0xc0], eax
mov byte [ebp - 4], 0x25
cmp word [ebp - 0xf8], 0
je 0x44e7d1
lea ecx, [ebp - 0xf8]
call fcn.00408590
lea eax, [ebp - 0x84]
push eax
lea ecx, [ebp - 0xd8]
call fcn.00402c3b
lea eax, [ebp - 0xa0]
mov byte [ebp - 0xdb], 1
push eax
lea eax, [ebp - 0xd]
mov ecx, ebx
push eax
lea eax, [ebp - 0xac]
push eax
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0xe0]
push eax
call fcn.00446144
cmp dword [ebx + 0xf0], 0
mov dword [ebp - 0x40], eax
jbe 0x44e842
mov edx, dword [ebx + 0xf0]
mov ecx, dword [ebx + 0xec]
mov al, byte [ebp - 0xd]
mov ecx, dword [ecx + edx*4 - 4]
mov byte [ecx + 0x7c], al
lea eax, [ebp - 0xa0]
push eax
sub ecx, 0xffffff80
call fcn.00402c3b
mov eax, dword [ebp - 0x40]
cmp dword [ebp - 0xa8], 0
je 0x44e8d2
lea ecx, [ebp - 0xcc]
call fcn.00401b23
push dword [ebp - 0xd8]
call fcn.0046a358
pop ecx
mov byte [ebp - 4], 0x2a
test esi, esi
je 0x44e874
mov eax, dword [esi]
push esi
call dword [eax + 8]
push dword [ebp - 0x38]
call fcn.0046a358
pop ecx
push dword [ebp - 0xa0]
call fcn.0046a358
pop ecx
lea ecx, [ebp - 0xac]
call fcn.00401b23
push dword [ebp - 0x6c]
call fcn.0046a358
pop ecx
lea ecx, [ebp - 0x160]
call fcn.00443f86
push dword [ebp - 0x54]
call fcn.0046a358
pop ecx
push dword [ebp - 0x84]
call fcn.0046a358
pop ecx
push dword [ebp - 0x90]
call fcn.0046a358
pop ecx
mov byte [ebp - 4], 0x2b
jmp 0x44f253
test eax, eax
je 0x44e96c
cmp eax, 0x80004004
je 0x44e8e9
push eax
mov ecx, ebx
call fcn.00444eb3
lea ecx, [ebp - 0xcc]
call fcn.00401b23
push dword [ebp - 0xd8]
call fcn.0046a358
pop ecx
mov byte [ebp - 4], 0x2c
test esi, esi
je 0x44e90e
mov eax, dword [esi]
push esi
call dword [eax + 8]
push dword [ebp - 0x38]
call fcn.0046a358
pop ecx
push dword [ebp - 0xa0]
call fcn.0046a358
pop ecx
lea ecx, [ebp - 0xac]
call fcn.00401b23
push dword [ebp - 0x6c]
call fcn.0046a358
pop ecx
lea ecx, [ebp - 0x160]
call fcn.00443f86
push dword [ebp - 0x54]
call fcn.0046a358
pop ecx
push dword [ebp - 0x84]
call fcn.0046a358
pop ecx
push dword [ebp - 0x90]
call fcn.0046a358
pop ecx
mov byte [ebp - 4], 0x2d
jmp 0x44f253
cmp dword [ebp - 0xbc], 0
je 0x44ec45
mov eax, dword [ebp - 0x14]
cmp byte [eax + 0x19], 0
jne 0x44ec45
cmp dword [eax + 0x28], 1
jb 0x44ec45
mov eax, dword [eax + 0x24]
mov eax, dword [eax]
mov dword [ebp - 0x40], eax
cmp byte [eax + 0x28], 0
jne 0x44ec45
mov edi, dword [eax + 8]
push 0x20
call fcn.0046a4f4
pop ecx
mov ecx, eax
mov dword [ebp + 0xc], ecx
push ecx
mov dword [ebp - 0x94], ecx
and dword [ecx + 4], 0
mov dword [ecx], vtable.CBufInStream.0
and dword [ecx + 0x1c], 0
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x2e
mov eax, dword [ebp - 0x40]
push esi
push edi
mov edi, dword [ebp + 0xc]
mov ecx, edi
push dword [eax]
call fcn.0040b907
cmp dword [ebp + 0x1c], 0
lea ecx, [ebp - 0x48]
mov eax, 0x4a4398
cmovne eax, dword [ebp + 0x1c]
push eax
call fcn.00402ad0
push ecx
lea eax, [ebp + 0xf]
mov byte [ebp - 4], 0x2f
push eax
lea eax, [ebp - 0x48]
mov ecx, ebx
push eax
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x160]
push eax
push edi
call fcn.0044c854
mov byte [ebp - 4], 0x2e
push dword [ebp - 0x48]
mov dword [ebp + 0xc], eax
call fcn.0046a358
mov eax, dword [ebp + 0xc]
pop ecx
test eax, eax
jne 0x44eae3
mov ecx, ebx
mov byte [ebp - 0x30], al
call fcn.0044fcaa
mov byte [ebp - 4], 0x30
mov eax, dword [edi]
push edi
call dword [eax + 8]
lea ecx, [ebp - 0xcc]
call fcn.00401b23
push dword [ebp - 0xd8]
call fcn.0046a358
pop ecx
mov byte [ebp - 4], 0x31
test esi, esi
je 0x44ea6b
mov eax, dword [esi]
push esi
call dword [eax + 8]
push dword [ebp - 0x38]
call fcn.0046a358
pop ecx
push dword [ebp - 0xa0]
call fcn.0046a358
pop ecx
lea ecx, [ebp - 0xac]
call fcn.00401b23
push dword [ebp - 0x6c]
call fcn.0046a358
pop ecx
lea ecx, [ebp - 0x160]
call fcn.00443f86
push dword [ebp - 0x54]
call fcn.0046a358
pop ecx
push dword [ebp - 0x84]
call fcn.0046a358
pop ecx
push dword [ebp - 0x90]
call fcn.0046a358
pop ecx
mov byte [ebp - 4], 0x32
lea ecx, [ebp - 0x30]
call fcn.00405700
push dword [ebp - 0x2c]
call fcn.0046a358
pop ecx
push dword [ebp - 0x78]
call fcn.0046a358
pop ecx
jmp 0x44e177
cmp eax, 0x80004004
je 0x44ed6c
cmp eax, 1
jne 0x44ed6c
cmp byte [ebp + 0x10], 0
jne 0x44eb8e
mov byte [ebp - 4], 0x36
mov eax, dword [edi]
push edi
call dword [eax + 8]
lea ecx, [ebp - 0xcc]
call fcn.00401b23
push dword [ebp - 0xd8]
call fcn.0046a358
pop ecx
mov byte [ebp - 4], 0x37
test esi, esi
je 0x44eb30
mov eax, dword [esi]
push esi
call dword [eax + 8]
push dword [ebp - 0x38]
call fcn.0046a358
pop ecx
push dword [ebp - 0xa0]
call fcn.0046a358
pop ecx
lea ecx, [ebp - 0xac]
call fcn.00401b23
push dword [ebp - 0x6c]
call fcn.0046a358
pop ecx
lea ecx, [ebp - 0x160]
call fcn.00443f86
push dword [ebp - 0x54]
call fcn.0046a358
pop ecx
push dword [ebp - 0x84]
call fcn.0046a358
pop ecx
push dword [ebp - 0x90]
call fcn.0046a358
pop ecx
mov byte [ebp - 4], 0x38
jmp 0x44eac4
mov ecx, dword [ebp - 0x14]
push 1
mov byte [ebp + 0xf], 0
call fcn.0043703b
test eax, eax
je 0x44ec31
mov byte [ebp - 4], 0x39
mov eax, dword [edi]
push edi
call dword [eax + 8]
lea ecx, [ebp - 0xcc]
call fcn.00401b23
push dword [ebp - 0xd8]
call fcn.0046a358
pop ecx
mov byte [ebp - 4], 0x3a
test esi, esi
je 0x44ebd3
mov eax, dword [esi]
push esi
call dword [eax + 8]
push dword [ebp - 0x38]
call fcn.0046a358
pop ecx
push dword [ebp - 0xa0]
call fcn.0046a358
pop ecx
lea ecx, [ebp - 0xac]
call fcn.00401b23
push dword [ebp - 0x6c]
call fcn.0046a358
pop ecx
lea ecx, [ebp - 0x160]
call fcn.00443f86
push dword [ebp - 0x54]
call fcn.0046a358
pop ecx
push dword [ebp - 0x84]
call fcn.0046a358
pop ecx
push dword [ebp - 0x90]
call fcn.0046a358
pop ecx
mov byte [ebp - 4], 0x3b
jmp 0x44eac4
mov byte [ebp - 4], 0x3c
mov eax, dword [edi]
push edi
call dword [eax + 8]
mov byte [ebp - 4], 0x25
mov edi, dword [ebp - 0xb8]
cmp dword [ebp - 0x34], 0
je 0x44ec83
mov ecx, dword [ebp - 0x54]
call fcn.00405f49
test al, al
je 0x44ec83
push 0x4a9370
lea edx, [ebp - 0x54]
lea ecx, [ebp - 0x48]
call fcn.00402a57
pop ecx
mov byte [ebp - 4], 0x3d
lea edx, [ebp - 0x38]
mov ecx, dword [eax]
call fcn.0044e0d8
mov byte [ebp - 4], 0x25
push dword [ebp - 0x48]
call fcn.0046a358
pop ecx
cmp byte [ebp + 0xf], 0
je 0x44ee8c
cmp dword [ebp + 0x1c], 0
lea ecx, [ebp - 0x48]
mov eax, 0x4a4398
cmovne eax, dword [ebp + 0x1c]
push eax
call fcn.00402ad0
push ecx
lea eax, [ebp + 0xf]
mov byte [ebp - 4], 0x3e
push eax
lea eax, [ebp - 0x48]
mov ecx, ebx
push eax
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x160]
push eax
push 0
call fcn.0044c854
mov byte [ebp - 4], 0x25
push dword [ebp - 0x48]
mov dword [ebp + 0xc], eax
call fcn.0046a358
mov eax, dword [ebp + 0xc]
pop ecx
test eax, eax
jne 0x44edf9
mov ecx, ebx
mov byte [ebp - 0x30], al
call fcn.0044fcaa
lea ecx, [ebp - 0xcc]
call fcn.00401b23
push dword [ebp - 0xd8]
call fcn.0046a358
pop ecx
mov byte [ebp - 4], 0x3f
test esi, esi
je 0x44ed0e
mov eax, dword [esi]
push esi
call dword [eax + 8]
push dword [ebp - 0x38]
call fcn.0046a358
pop ecx
push dword [ebp - 0xa0]
call fcn.0046a358
pop ecx
lea ecx, [ebp - 0xac]
call fcn.00401b23
push dword [ebp - 0x6c]
call fcn.0046a358
pop ecx
lea ecx, [ebp - 0x160]
call fcn.00443f86
push dword [ebp - 0x54]
call fcn.0046a358
pop ecx
push dword [ebp - 0x84]
call fcn.0046a358
pop ecx
push dword [ebp - 0x90]
call fcn.0046a358
pop ecx
mov byte [ebp - 4], 0x40
jmp 0x44f253
mov byte [ebp - 4], 0x33
mov eax, dword [edi]
push edi
call dword [eax + 8]
lea ecx, [ebp - 0xcc]
call fcn.00401b23
push dword [ebp - 0xd8]
call fcn.0046a358
pop ecx
mov byte [ebp - 4], 0x34
test esi, esi
je 0x44ed9b
mov eax, dword [esi]
push esi
call dword [eax + 8]
push dword [ebp - 0x38]
call fcn.0046a358
pop ecx
push dword [ebp - 0xa0]
call fcn.0046a358
pop ecx
lea ecx, [ebp - 0xac]
call fcn.00401b23
push dword [ebp - 0x6c]
call fcn.0046a358
pop ecx
lea ecx, [ebp - 0x160]
call fcn.00443f86
push dword [ebp - 0x54]
call fcn.0046a358
pop ecx
push dword [ebp - 0x84]
call fcn.0046a358
pop ecx
push dword [ebp - 0x90]
call fcn.0046a358
pop ecx
mov byte [ebp - 4], 0x35
jmp 0x44eac4
cmp eax, 0x80004004
je 0x44ee09
cmp eax, 1
je 0x44ee8c
lea ecx, [ebp - 0xcc]
call fcn.00401b23
push dword [ebp - 0xd8]
call fcn.0046a358
pop ecx
mov byte [ebp - 4], 0x41
test esi, esi
je 0x44ee2e
mov eax, dword [esi]
push esi
call dword [eax + 8]
push dword [ebp - 0x38]
call fcn.0046a358
pop ecx
push dword [ebp - 0xa0]
call fcn.0046a358
pop ecx
lea ecx, [ebp - 0xac]
call fcn.00401b23
push dword [ebp - 0x6c]
call fcn.0046a358
pop ecx
lea ecx, [ebp - 0x160]
call fcn.00443f86
push dword [ebp - 0x54]
call fcn.0046a358
pop ecx
push dword [ebp - 0x84]
call fcn.0046a358
pop ecx
push dword [ebp - 0x90]
call fcn.0046a358
pop ecx
mov byte [ebp - 4], 0x42
jmp 0x44f253
cmp byte [ebp + 0x10], 0
jne 0x44ef19
lea ecx, [ebp - 0xcc]
call fcn.00401b23
push dword [ebp - 0xd8]
call fcn.0046a358
pop ecx
mov byte [ebp - 4], 0x43
test esi, esi
je 0x44eebb
mov eax, dword [esi]
push esi
call dword [eax + 8]
push dword [ebp - 0x38]
call fcn.0046a358
pop ecx
push dword [ebp - 0xa0]
call fcn.0046a358
pop ecx
lea ecx, [ebp - 0xac]
call fcn.00401b23
push dword [ebp - 0x6c]
call fcn.0046a358
pop ecx
lea ecx, [ebp - 0x160]
call fcn.00443f86
push dword [ebp - 0x54]
call fcn.0046a358
pop ecx
push dword [ebp - 0x84]
call fcn.0046a358
pop ecx
push dword [ebp - 0x90]
call fcn.0046a358
pop ecx
mov byte [ebp - 4], 0x44
jmp 0x44f253
push 0xc0
call fcn.0046a4f4
pop ecx
mov dword [ebp + 0x10], eax
mov ecx, eax
mov byte [ebp - 4], 0x45
call fcn.0044c494
mov dword [ebp + 0x10], eax
add eax, 0x10
mov byte [ebp - 4], 0x46
lea ecx, [ebp - 0x90]
mov dword [ebp + 0x1c], eax
push ecx
mov ecx, eax
call fcn.00402c3b
mov eax, dword [ebp + 0x10]
lea ecx, [ebp - 0x54]
push ecx
lea ecx, [eax + 0x1c]
call fcn.00402c3b
mov eax, dword [ebp + 0x10]
mov cl, byte [ebp - 0xd]
mov byte [eax + 0xa8], cl
lea ecx, [ebp - 0xa0]
push ecx
lea ecx, [eax + 0xac]
mov byte [eax + 0x60], 1
call fcn.00402c3b
mov ecx, ebx
call fcn.00454495
mov ecx, dword [ebp + 0x10]
push dword [ebp - 0x54]
mov byte [ecx + 0xb8], al
add ecx, 0x28
call fcn.00405af9
test al, al
jne 0x44f02c
lea ecx, [ebp + 0x10]
call fcn.0044f29b
lea ecx, [ebp - 0xcc]
call fcn.00401b23
push dword [ebp - 0xd8]
call fcn.0046a358
pop ecx
mov byte [ebp - 4], 0x47
test esi, esi
je 0x44efce
mov eax, dword [esi]
push esi
call dword [eax + 8]
push dword [ebp - 0x38]
call fcn.0046a358
pop ecx
push dword [ebp - 0xa0]
call fcn.0046a358
pop ecx
lea ecx, [ebp - 0xac]
call fcn.00401b23
push dword [ebp - 0x6c]
call fcn.0046a358
pop ecx
lea ecx, [ebp - 0x160]
call fcn.00443f86
push dword [ebp - 0x54]
call fcn.0046a358
pop ecx
push dword [ebp - 0x84]
call fcn.0046a358
pop ecx
push dword [ebp - 0x90]
call fcn.0046a358
pop ecx
mov byte [ebp - 4], 0x48
jmp 0x44f253
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x44], eax
mov byte [ebp - 0x40], 1
and dword [ebp + 0xc], 0
lea eax, [ebp + 0xc]
mov byte [ebp - 4], 0x4a
cmp byte [ebp + 0x14], 0
push eax
push dword [ebx + 4]
je 0x44f058
mov dl, byte [ebp + 0x18]
lea ecx, [ebp - 0x54]
call fcn.0044ce2b
jmp 0x44f066
lea edx, [ebp - 0x54]
lea ecx, [ebp - 0x84]
call fcn.0044d255
pop ecx
pop ecx
mov ecx, eax
mov eax, dword [ebp + 0xc]
mov dword [ebp + 0x14], eax
test eax, eax
jne 0x44f136
test ecx, ecx
je 0x44f136
lea ecx, [ebp + 0xc]
mov byte [ebp - 4], 0x4b
call fcn.00408273
mov byte [ebp - 4], 0x4c
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x60], 0
je 0x44f0ab
mov ecx, dword [eax + 0x1c]
call fcn.004051ef
mov ecx, dword [ebp + 0x1c]
mov ecx, dword [ecx]
call fcn.00404c9a
lea ecx, [ebp + 0x10]
call fcn.0044f29b
lea ecx, [ebp - 0xcc]
call fcn.00401b23
push dword [ebp - 0xd8]
call fcn.0046a358
pop ecx
mov byte [ebp - 4], 0x4d
test esi, esi
je 0x44f0d8
mov eax, dword [esi]
push esi
call dword [eax + 8]
push dword [ebp - 0x38]
call fcn.0046a358
pop ecx
push dword [ebp - 0xa0]
call fcn.0046a358
pop ecx
lea ecx, [ebp - 0xac]
call fcn.00401b23
push dword [ebp - 0x6c]
call fcn.0046a358
pop ecx
lea ecx, [ebp - 0x160]
call fcn.00443f86
push dword [ebp - 0x54]
call fcn.0046a358
pop ecx
push dword [ebp - 0x84]
call fcn.0046a358
pop ecx
push dword [ebp - 0x90]
call fcn.0046a358
pop ecx
mov byte [ebp - 4], 0x4e
jmp 0x44f253
mov eax, dword [ebx + 4]
mov ebx, dword [ebp + 0x10]
push dword [ebp - 0xe8]
lea ecx, [ebx + 0x9c]
mov dword [ebx + 0x98], eax
call fcn.00402c3b
mov eax, dword [ebp + 8]
lea ecx, [ebx + 4]
mov dword [ebx], eax
lea eax, [ebp - 0xb8]
push eax
call fcn.00402c3b
mov eax, dword [ebp + 0x14]
test eax, eax
je 0x44f17b
and dword [ebp + 0xc], 0
lea ecx, [ebx + 0x68]
push eax
call fcn.0044c2f3
lea eax, [ebp + 0x14]
push eax
xor eax, eax
push eax
push ebx
push 0x44dca3
push eax
push eax
call fcn.0046f03a
mov ebx, eax
add esp, 0x18
test ebx, ebx
jne 0x44f1a5
call fcn.004019d6
test eax, eax
jne 0x44f285
push ebx
mov ecx, 0x4c9030
call fcn.00401ba1
inc dword [0x4c903c]
xor eax, eax
mov byte [ebp - 0x30], al
mov dword [ebp + 0x10], eax
mov byte [ebp - 0x40], al
lea ecx, [ebp + 0xc]
mov byte [ebp - 4], 0x4f
call fcn.00408273
lea ecx, [ebp + 0x10]
call fcn.0044f29b
lea ecx, [ebp - 0xcc]
call fcn.00401b23
push dword [ebp - 0xd8]
call fcn.0046a358
pop ecx
mov byte [ebp - 4], 0x51
test esi, esi
je 0x44f1fa
mov eax, dword [esi]
push esi
call dword [eax + 8]
push dword [ebp - 0x38]
call fcn.0046a358
pop ecx
push dword [ebp - 0xa0]
call fcn.0046a358
pop ecx
lea ecx, [ebp - 0xac]
call fcn.00401b23
push dword [ebp - 0x6c]
call fcn.0046a358
pop ecx
lea ecx, [ebp - 0x160]
call fcn.00443f86
push dword [ebp - 0x54]
call fcn.0046a358
pop ecx
push dword [ebp - 0x84]
call fcn.0046a358
pop ecx
push dword [ebp - 0x90]
call fcn.0046a358
pop ecx
mov byte [ebp - 4], 0x52
lea ecx, [ebp - 0x30]
call fcn.00405700
push dword [ebp - 0x2c]
call fcn.0046a358
pop ecx
push dword [ebp - 0x78]
call fcn.0046a358
pop ecx
push edi
call fcn.0046a358
pop ecx
push dword [ebp - 0x60]
call fcn.0046a358
pop ecx
call fcn.0046aebb
ret 0x18
push 0x4bd0f0
lea eax, [ebp + 0x14]
mov dword [ebp + 0x14], 0x425d0
push eax
call fcn.0046caf9
int3