Function at 0x4c5040
Capabilities:
Create process on windows
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x53ec30
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x9c58
call fcn.0051dcc0
mov eax, dword [0x572844]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
push 0x1018
push 0
lea eax, [ebp - 0x390c]
push eax
call fcn.005201d0
add esp, 0xc
cmp byte [0x57a0e0], 0
je 0x4c50b0
push 0x800
lea eax, [ebp - 0x390c]
push eax
mov ecx, 0x5a57a8
call fcn.00406e80
jmp 0x4c51db
lea ecx, [ebp - 0xd4]
call fcn.004b03b0
mov dword [ebp - 4], 0
push 1
lea eax, [ebp - 0xd4]
push eax
mov ecx, 0x5a84b0
call fcn.004524c0
mov eax, dword [ebp - 0xbc]
test eax, eax
jne 0x4c5142
push 0x65
call fcn.004a9c90
mov esi, eax
push 0x14c
call fcn.004a9c90
push 0x30
push esi
push eax
push dword [0x57a0c8]
call fcn.004edd90
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xd4]
test ecx, ecx
je 0x4c62a1
cmp byte [ebp - 0xc4], 0
je 0x4c5134
mov eax, dword [ebp - 0xcc]
add eax, eax
push eax
push ecx
call fcn.004ad810
mov ecx, dword [ebp - 0xd4]
push ecx
call fcn.00525b95
add esp, 4
jmp 0x4c62a1
cmp eax, 1
jne 0x4c5164
push 0
push 0x800
lea eax, [ebp - 0x390c]
push eax
lea ecx, [ebp - 0xd4]
call fcn.004b05a0
test al, al
jne 0x4c51a3
push 0x800
lea eax, [ebp - 0x490c]
push eax
mov ecx, 0x5a84b0
call fcn.00452420
lea eax, [ebp - 0x490c]
push eax
call fcn.00495850
cmp word [eax], 0
jne 0x4c5191
mov eax, str.report.
push 0x800
push eax
lea eax, [ebp - 0x390c]
push eax
call fcn.004b0360
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xd4]
test ecx, ecx
je 0x4c51db
cmp byte [ebp - 0xc4], 0
je 0x4c51d2
mov eax, dword [ebp - 0xcc]
add eax, eax
push eax
push ecx
call fcn.004ad810
mov ecx, dword [ebp - 0xd4]
push ecx
call fcn.00525b95
add esp, 4
cmp byte [0x57a0e0], 0
mov eax, str.InterfaceReportArc
jne 0x4c51ee
mov eax, str.InterfaceReportFile
push 0
push str.OutFormat
push eax
call fcn.004c2f20
test eax, eax
sete bl
mov dword [ebp - 0x2908], 0
test eax, eax
mov eax, 0x552fac
je 0x4c5218
mov eax, 0x552fb4
push 0x800
push eax
lea eax, [ebp - 0x390c]
push eax
call fcn.00495900
push 0x800
lea eax, [ebp - 0x390c]
push eax
push eax
mov ecx, 0x5a84b0
call fcn.00452e10
xor esi, esi
lea eax, [ebp - 0x390c]
push eax
call fcn.004837b0
test al, al
je 0x4c52bc
test esi, esi
je 0x4c526a
push 0x800
push 0
lea eax, [ebp - 0x390c]
push eax
call fcn.00495900
push esi
push 0x552fbc
push 0xa
lea eax, [ebp - 0x28]
push eax
call fcn.00402c90
add esp, 0x10
push 0x800
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x390c]
push eax
call fcn.00495900
test bl, bl
mov eax, 0x552fac
jne 0x4c52a1
mov eax, 0x552fb4
push 0x800
push eax
lea eax, [ebp - 0x390c]
push eax
call fcn.00495900
inc esi
cmp esi, 0x3e8
jl 0x4c5243
lea eax, [ebp - 0x390c]
push eax
push 0x4c67e0
push dword [0x57a0c8]
push str.REPORT
push dword [0x5b6818]
call dword [sym.imp.USER32.dll_DialogBoxParamW]
test eax, eax
je 0x4c62a1
push 0x800
lea eax, [ebp - 0x390c]
push eax
push eax
mov ecx, 0x5a84b0
call fcn.00452e10
cmp dword [ebp - 0x2908], 0
sete bh
mov byte [ebp - 0x9bf2], bh
push 0x552fd4
lea eax, [ebp - 0x390c]
push eax
call fcn.00484ad0
mov edi, eax
mov dword [ebp - 0x9bf8], edi
test edi, edi
jne 0x4c5341
lea eax, [ebp - 0x390c]
push eax
mov ecx, 0x5b68fc
call fcn.0047ae20
jmp 0x4c62a1
push 0
push 0
push 0x54266c
push 0xc
call fcn.004efde0
mov byte [ebp - 0x9bf3], al
push 0x556
call fcn.004a9c90
push eax
call fcn.004ee4d0
add esp, 4
cmp dword [ebp - 0x2908], 1
jne 0x4c538c
push edi
push 0xff
call fcn.00526aa2
push edi
push 0xfe
call fcn.00526aa2
add esp, 0x10
mov bl, 1
mov byte [ebp - 0x9bf1], bl
xor esi, esi
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x18], esi
cmp byte [0x57a0e0], 0
jne 0x4c53c0
cmp byte [ebp - 0x28fe], 0
jne 0x4c53c4
mov byte [ebp - 0x18], 1
lea ecx, [ebp - 0x9c38]
call fcn.0044edc0
mov dword [ebp - 4], 3
lea ecx, [ebp - 0x9c68]
call fcn.0044edc0
mov byte [ebp - 4], 4
cmp byte [0x57a0e0], 0
je 0x4c5429
push 0x800
lea eax, [ebp - 0x490c]
push eax
mov ecx, 0x5a57a8
call fcn.00406e80
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x9c68]
push eax
lea eax, [ebp - 0x9c38]
push eax
lea eax, [ebp - 0x490c]
push eax
call fcn.004c4ee0
mov bl, al
jmp 0x4c5777
lea ecx, [ebp - 0xd4]
call fcn.004b03b0
mov byte [ebp - 4], 5
push 1
lea eax, [ebp - 0xd4]
push eax
mov ecx, 0x5a84b0
call fcn.004524c0
push 1
push 0
push 3
lea eax, [ebp - 0xd4]
push eax
lea ecx, [ebp - 0x8af8]
call fcn.004ac1d0
mov byte [ebp - 4], 6
mov dword [ebp - 0x12c], 0
mov dword [ebp - 0x128], 0
mov dword [ebp - 0x124], 0
mov dword [ebp - 0x120], 0
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x118], 0
lea eax, [ebp - 0x113c]
push eax
lea ecx, [ebp - 0x8af8]
call fcn.004acee0
test eax, eax
jne 0x4c572d
cmp byte [0x57a0e2], al
jne 0x4c572d
call fcn.00458ec0
cmp byte [ebp - 0x28fe], 0
je 0x4c568f
push 0x10f8
push 0
lea eax, [ebp - 0x9bf0]
push eax
call fcn.005201d0
add esp, 0xc
push 0x800
lea eax, [ebp - 0x113c]
push eax
lea eax, [ebp - 0x9bf0]
push eax
call fcn.004b0360
mov ecx, dword [ebp - 0x13c]
mov eax, dword [ebp - 0x138]
mov dword [ebp - 0x8b68], ecx
mov dword [ebp - 0x8b64], eax
mov dword [ebp - 0x8b70], ecx
mov dword [ebp - 0x8b6c], eax
cmp byte [ebp - 0x28fa], 0
je 0x4c558f
test dword [ebp - 0x134], 0x800
je 0x4c558f
call fcn.004881b0
test eax, eax
je 0x4c558f
lea eax, [ebp - 0x9bfc]
push eax
lea eax, [ebp - 0x113c]
push eax
call dword [sym.imp.KERNEL32.dll_GetCompressedFileSizeW]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x4c5570
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x4c5589
xor ecx, ecx
mov eax, dword [ebp - 0x9bfc]
add ecx, ebx
adc eax, 0
mov dword [ebp - 0x8b68], ecx
mov dword [ebp - 0x8b64], eax
mov bl, byte [ebp - 0x9bf1]
mov eax, dword [ebp - 0x134]
mov dword [ebp - 0x8b48], eax
lea eax, [ebp - 0x104]
push eax
lea ecx, [ebp - 0x8b60]
call fcn.004b2010
mov dword [ebp - 0x8b04], esi
inc esi
mov dword [ebp - 0x1c], esi
inc dword [ebp - 0x34]
mov eax, dword [ebp - 0x8b70]
add dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x8b6c]
adc dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x8b68]
add dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x8b64]
adc dword [ebp - 0x20], eax
cmp byte [ebp - 0x28f8], 0
je 0x4c5670
push dword [ebp - 0x8b48]
call fcn.004839c0
test al, al
jne 0x4c5670
lea ecx, [ebp - 0x4944]
call fcn.00481580
mov byte [ebp - 4], 7
push 0
lea eax, [ebp - 0x113c]
push eax
lea ecx, [ebp - 0x4944]
call fcn.00481d40
test al, al
je 0x4c5661
mov byte [ebp - 4], 8
push 0
push SysReAllocString
push SysReAllocString
push dword [0x591fb8]
push 0
lea eax, [ebp - 0x8b38]
push eax
lea eax, [ebp - 0x4944]
push eax
call fcn.00482ab0
mov dword [ebp - 4], 7
mov dword [ebp - 0x8b3c], 2
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x4944]
call fcn.004815d0
lea eax, [ebp - 0x9bf0]
push eax
lea ecx, [ebp - 0x9c38]
call fcn.0044f2c0
cmp byte [ebp - 0x9c0c], 0
jne 0x4c572b
cmp byte [0x57a0e2], 0
jne 0x4c572b
cmp byte [ebp - 0x28ff], 0
je 0x4c54a3
cmp byte [ebp - 0x130], 0
jne 0x4c54a3
push 2
push 0
lea eax, [ebp - 0x113c]
push eax
mov ecx, 0x5a57a8
call fcn.00407f10
cmp eax, 1
jne 0x4c54a3
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x9c68]
push eax
lea eax, [ebp - 0x9c38]
push eax
lea eax, [ebp - 0x113c]
push eax
call fcn.004c4ee0
test al, al
je 0x4c572b
mov esi, dword [ebp - 0x1c]
jmp 0x4c54a3
xor bl, bl
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x8af8]
call fcn.004ac2c0
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0xd4]
test ecx, ecx
je 0x4c5771
cmp byte [ebp - 0xc4], 0
je 0x4c5768
mov eax, dword [ebp - 0xcc]
add eax, eax
push eax
push ecx
call fcn.004ad810
mov ecx, dword [ebp - 0xd4]
push ecx
call fcn.00525b95
add esp, 4
mov bh, byte [ebp - 0x9bf2]
test bl, bl
je 0x4c6272
cmp dword [ebp - 0x2904], 8
je 0x4c57b7
lea eax, [ebp - 0x390c]
mov dword [0x5c3ce4], eax
mov esi, dword [ebp - 0x9c34]
push 0
lea ecx, [ebp - 0x9c38]
call fcn.0044f1c0
push 0x4c6ef0
push 0x70
push esi
push eax
call fcn.0052a210
add esp, 0x10
test bh, bh
je 0x4c5850
mov dword [ebp - 0x9c00], 0
mov dword [ebp - 0x9bfc], 0
lea ecx, [ebp - 0x9c00]
call fcn.004b1af0
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x9c00]
call fcn.004b1530
push dword [ebp - 0x48]
push dword [ebp - 0x4c]
push dword [ebp - 0x50]
push dword [ebp - 0x54]
push dword [ebp - 0x58]
push 0x552960
push 0x32
lea eax, [ebp - 0xd8]
push eax
call fcn.00402c90
add esp, 0x20
lea eax, [ebp - 0xd8]
push eax
push 0x55b
call fcn.004a9c90
push eax
push 0x864
lea eax, [ebp - 0x49d4]
push eax
call fcn.00402c90
lea eax, [ebp - 0x49d4]
push eax
push str._html__r_n_head__r_n_meta_http_equiv_Content_Type__content_text_html__charsetUTF_8____r_n_title__s__title__r_n__head__r_n_body__r_n_pre__r_n
push dword [ebp - 0x2908]
push edi
call fcn.004c6dd0
add esp, 0x20
cmp byte [ebp - 0x28fc], 0
je 0x4c5a04
test bh, bh
je 0x4c5875
push 0x5530e4
push dword [ebp - 0x2908]
push edi
call fcn.004c6dd0
add esp, 0xc
xor eax, eax
mov word [ebp - 0x3b0c], ax
cmp byte [ebp - 0x28f9], al
je 0x4c58c3
lea esi, [ebp - 0x3b0c]
lea ecx, [esi + 2]
nop
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x4c5890
sub esi, ecx
sar esi, 1
push 0x72
call fcn.004a9c90
push eax
push str.___14s
push 0x100
lea eax, [ebp - 0x3b0c]
lea eax, [eax + esi*2]
push eax
call fcn.00402c90
add esp, 0x10
cmp byte [ebp - 0x28fb], 0
je 0x4c5908
lea esi, [ebp - 0x3b0c]
lea ecx, [esi + 2]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x4c58d5
sub esi, ecx
sar esi, 1
push 0x6f
call fcn.004a9c90
push eax
push str._12s
push 0x100
lea eax, [ebp - 0x3b0c]
lea eax, [eax + esi*2]
push eax
call fcn.00402c90
add esp, 0x10
cmp byte [ebp - 0x28fa], 0
je 0x4c5953
lea esi, [ebp - 0x3b0c]
lea ecx, [esi + 2]
lea ebx, [ebx]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x4c5920
sub esi, ecx
sar esi, 1
push 0x71
call fcn.004a9c90
push eax
push str._12s
push 0x100
lea eax, [ebp - 0x3b0c]
lea eax, [eax + esi*2]
push eax
call fcn.00402c90
add esp, 0x10
cmp byte [ebp - 0x28f8], 0
je 0x4c5998
lea esi, [ebp - 0x3b0c]
lea ecx, [esi + 2]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x4c5965
sub esi, ecx
sar esi, 1
push 0x78
call fcn.004a9c90
push eax
push str._8s
push 0x100
lea eax, [ebp - 0x3b0c]
lea eax, [eax + esi*2]
push eax
call fcn.00402c90
add esp, 0x10
cmp word [ebp - 0x3b0c], 0
jne 0x4c59b8
push 0x100
push 0x55311c
lea eax, [ebp - 0x3b0c]
push eax
call fcn.004b0360
push 0x100
push 0x6e
call fcn.004a9c90
push eax
lea eax, [ebp - 0x3b0c]
push eax
call fcn.004b0300
lea eax, [ebp - 0x3b0c]
push eax
push str._s_r_n_r_n
push dword [ebp - 0x2908]
push edi
call fcn.004c6dd0
add esp, 0x10
test bh, bh
je 0x4c5a04
push 0x553134
push dword [ebp - 0x2908]
push edi
call fcn.004c6dd0
add esp, 0xc
xor esi, esi
mov dword [ebp - 0x9bfc], esi
xor eax, eax
mov dword [ebp - 0x9bf8], eax
cmp dword [ebp - 0x9c34], eax
jbe 0x4c5daf
push eax
lea eax, [ebp - 0x9bf0]
push eax
lea ecx, [ebp - 0x9c38]
call fcn.0044f030
cmp byte [ebp - 0x28fd], 0
je 0x4c5b03
mov eax, dword [ebp - 0x8b00]
cmp eax, esi
je 0x4c5b03
mov dword [ebp - 0x9bfc], eax
test bh, bh
je 0x4c5a6c
push 0x5530e4
push dword [ebp - 0x2908]
push edi
call fcn.004c6dd0
add esp, 0xc
push 0x553140
push dword [ebp - 0x2908]
push edi
call fcn.004c6dd0
add esp, 0xc
mov eax, dword [ebp - 0x8b00]
test eax, eax
je 0x4c5abd
dec eax
push eax
lea eax, [ebp - 0x4a04]
push eax
lea ecx, [ebp - 0x9c68]
call fcn.0044f030
mov esi, eax
push 0x28a
call fcn.004a9c90
push esi
push eax
push dword [ebp - 0x2908]
push edi
call fcn.004c6dd0
add esp, 0x10
jmp 0x4c5ad7
push 0x558
call fcn.004a9c90
push eax
push dword [ebp - 0x2908]
push edi
call fcn.004c6dd0
add esp, 0xc
test bh, bh
je 0x4c5aef
push 0x553134
push dword [ebp - 0x2908]
push edi
call fcn.004c6dd0
add esp, 0xc
push 0x5471c4
push dword [ebp - 0x2908]
push edi
call fcn.004c6dd0
add esp, 0xc
xor eax, eax
mov word [ebp - 0x28f4], ax
push dword [ebp - 0x8b48]
call fcn.004839c0
mov bl, al
cmp byte [ebp - 0x28f9], 0
je 0x4c5b90
mov ecx, dword [ebp - 0x8b60]
mov edx, dword [ebp - 0x8b5c]
mov dword [ebp - 0x9c08], ecx
mov dword [ebp - 0x9c04], edx
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x9c08]
call fcn.004b1530
lea ecx, [ebp - 0x28f4]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4c5b56
sub ecx, edx
sar ecx, 1
push dword [ebp - 0x48]
push dword [ebp - 0x4c]
push dword [ebp - 0x50]
push dword [ebp - 0x54]
push dword [ebp - 0x58]
push str._u__02u__02u__02u:_02u
push 0x1400
lea eax, [ebp - 0x28f4]
lea eax, [eax + ecx*2]
push eax
call fcn.00402c90
add esp, 0x20
cmp byte [ebp - 0x28fb], 0
je 0x4c5c22
mov ecx, dword [ebp - 0x8b70]
mov eax, dword [ebp - 0x8b6c]
cmp ecx, 0x7fffffff
jne 0x4c5bc7
cmp eax, ecx
jne 0x4c5bc7
push 0x1e
push 0x546f5c
lea eax, [ebp - 0x70]
push eax
call fcn.004b0360
jmp 0x4c5bd7
push 0xa
lea edx, [ebp - 0x70]
push edx
push eax
push ecx
call fcn.0052afbc
add esp, 0x10
lea esi, [ebp - 0x28f4]
lea ecx, [esi + 2]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x4c5be0
sub esi, ecx
sar esi, 1
test bl, bl
je 0x4c5bff
push 0x573
call fcn.004a9c90
jmp 0x4c5c02
lea eax, [ebp - 0x70]
push eax
push str._12s
mov eax, 0x1400
sub eax, esi
push eax
lea eax, [ebp - 0x28f4]
lea eax, [eax + esi*2]
push eax
call fcn.00402c90
add esp, 0x10
cmp byte [ebp - 0x28fa], 0
je 0x4c5cb4
mov ecx, dword [ebp - 0x8b68]
mov eax, dword [ebp - 0x8b64]
cmp ecx, 0x7fffffff
jne 0x4c5c59
cmp eax, ecx
jne 0x4c5c59
push 0x1e
push 0x546f5c
lea eax, [ebp - 0x70]
push eax
call fcn.004b0360
jmp 0x4c5c69
push 0xa
lea edx, [ebp - 0x70]
push edx
push eax
push ecx
call fcn.0052afbc
add esp, 0x10
lea esi, [ebp - 0x28f4]
lea ecx, [esi + 2]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x4c5c72
sub esi, ecx
sar esi, 1
test bl, bl
je 0x4c5c91
push 0x573
call fcn.004a9c90
jmp 0x4c5c94
lea eax, [ebp - 0x70]
push eax
push str._12s
mov eax, 0x1400
sub eax, esi
push eax
lea eax, [ebp - 0x28f4]
lea eax, [eax + esi*2]
push eax
call fcn.00402c90
add esp, 0x10
cmp byte [ebp - 0x28f8], 0
je 0x4c5d5d
mov eax, dword [ebp - 0x8b3c]
cmp eax, 3
jne 0x4c5ce7
push 0x41
lea eax, [ebp - 0xf4]
push eax
push 0
push 0x20
lea eax, [ebp - 0x8b38]
push eax
call fcn.004af9f0
jmp 0x4c5d2f
cmp eax, 1
je 0x4c5d0b
cmp eax, 2
je 0x4c5d06
push 0x41
push 0x55317c
lea eax, [ebp - 0xf4]
push eax
call fcn.004b0360
jmp 0x4c5d2f
cmp eax, 1
jne 0x4c5d12
mov eax, 0x546f60
jmp 0x4c5d17
mov eax, str._08X
push dword [ebp - 0x8b38]
push eax
push 0x41
lea eax, [ebp - 0xf4]
push eax
call fcn.00402c90
add esp, 0x10
push 0x1400
lea eax, [ebp - 0xf4]
push eax
lea eax, [ebp - 0x28f4]
push eax
call fcn.004b0300
push 0x1400
push 0x553190
lea eax, [ebp - 0x28f4]
push eax
call fcn.004b0300
push 0x1400
lea eax, [ebp - 0x9bf0]
push eax
lea eax, [ebp - 0x28f4]
push eax
call fcn.004b0300
lea eax, [ebp - 0x28f4]
push eax
push str._s_r_n
push dword [ebp - 0x2908]
push edi
call fcn.004c6dd0
add esp, 0x10
mov eax, dword [ebp - 0x9bf8]
inc eax
mov dword [ebp - 0x9bf8], eax
cmp eax, dword [ebp - 0x9c34]
mov esi, dword [ebp - 0x9bfc]
jb 0x4c5a20
cmp byte [ebp - 0x28fc], 0
je 0x4c60f2
push 0xa
lea eax, [ebp - 0x70]
push eax
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
call fcn.0052afbc
push 0xa
lea eax, [ebp - 0xb0]
push eax
push dword [ebp - 0x20]
push dword [ebp - 0x24]
call fcn.0052afbc
add esp, 0x20
test bh, bh
je 0x4c5dfc
push 0x5530e4
push dword [ebp - 0x2908]
push edi
call fcn.004c6dd0
add esp, 0xc
push 0x553198
push dword [ebp - 0x2908]
push edi
call fcn.004c6dd0
add esp, 0xc
xor eax, eax
mov word [ebp - 0x2f4], ax
mov word [ebp - 0x3b0c], ax
cmp byte [ebp - 0x28f9], al
je 0x4c5ea4
lea esi, [ebp - 0x3b0c]
lea ecx, [esi + 2]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x4c5e35
sub esi, ecx
sar esi, 1
push 0x1ac
call fcn.004a9c90
push eax
push str.___14s
push 0x100
lea eax, [ebp - 0x3b0c]
lea eax, [eax + esi*2]
push eax
call fcn.00402c90
add esp, 0x10
lea ecx, [ebp - 0x2f4]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4c5e74
sub ecx, edx
sar ecx, 1
push 0x54266c
push str.___14s
push 0x100
lea eax, [ebp - 0x2f4]
lea eax, [eax + ecx*2]
push eax
call fcn.00402c90
add esp, 0x10
cmp byte [ebp - 0x28fb], 0
je 0x4c5f2f
lea esi, [ebp - 0x3b0c]
lea ecx, [esi + 2]
lea ebx, [ebx]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x4c5ec0
sub esi, ecx
sar esi, 1
push 0x6f
call fcn.004a9c90
push eax
push str._12s
push 0x100
lea eax, [ebp - 0x3b0c]
lea eax, [eax + esi*2]
push eax
call fcn.00402c90
add esp, 0x10
lea ecx, [ebp - 0x2f4]
lea edx, [ecx + 2]
lea esp, [esp]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4c5f00
sub ecx, edx
sar ecx, 1
lea eax, [ebp - 0x70]
push eax
push str._12s
push 0x100
lea eax, [ebp - 0x2f4]
lea eax, [eax + ecx*2]
push eax
call fcn.00402c90
add esp, 0x10
cmp byte [ebp - 0x28fa], 0
je 0x4c5fb3
lea esi, [ebp - 0x3b0c]
lea ecx, [esi + 2]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x4c5f45
sub esi, ecx
sar esi, 1
push 0x71
call fcn.004a9c90
push eax
push str._12s
push 0x100
lea eax, [ebp - 0x3b0c]
lea eax, [eax + esi*2]
push eax
call fcn.00402c90
add esp, 0x10
lea ecx, [ebp - 0x2f4]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4c5f81
sub ecx, edx
sar ecx, 1
lea eax, [ebp - 0xb0]
push eax
push str._12s
push 0x100
lea eax, [ebp - 0x2f4]
lea eax, [eax + ecx*2]
push eax
call fcn.00402c90
add esp, 0x10
cmp byte [ebp - 0x28f8], 0
je 0x4c5fe8
push 0x100
push 0x5531a0
lea eax, [ebp - 0x3b0c]
push eax
call fcn.004b0300
push 0x100
push 0x5531a0
lea eax, [ebp - 0x2f4]
push eax
call fcn.004b0300
cmp word [ebp - 0x3b0c], 0
jne 0x4c601e
push 0x100
push 0x55311c
lea eax, [ebp - 0x3b0c]
push eax
call fcn.004b0360
push 0x100
push 0x55311c
lea eax, [ebp - 0x2f4]
push eax
call fcn.004b0360
push 0x100
push 0x559
call fcn.004a9c90
push eax
lea eax, [ebp - 0x3b0c]
push eax
call fcn.004b0300
lea ecx, [ebp - 0x2f4]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4c6043
sub ecx, edx
sar ecx, 1
push dword [ebp - 0x34]
push 0x5458dc
mov eax, 0x100
sub eax, ecx
push eax
lea eax, [ebp - 0x2f4]
lea eax, [eax + ecx*2]
push eax
call fcn.00402c90
add esp, 0x10
cmp word [ebp - 0x3b0c], 0x20
jne 0x4c6096
cmp word [ebp - 0x3b0a], 0x20
jne 0x4c6096
mov eax, 0x23
mov word [ebp - 0x3b0c], ax
jmp 0x4c609b
mov eax, 0x23
cmp word [ebp - 0x2f4], 0x20
jne 0x4c60b6
cmp word [ebp - 0x2f2], 0x20
jne 0x4c60b6
mov word [ebp - 0x2f4], ax
lea eax, [ebp - 0x2f4]
push eax
lea eax, [ebp - 0x3b0c]
push eax
push str._s_r_n_s_r_n
push dword [ebp - 0x2908]
push edi
call fcn.004c6dd0
add esp, 0x14
test bh, bh
je 0x4c610a
push 0x553134
push dword [ebp - 0x2908]
push edi
call fcn.004c6dd0
add esp, 0xc
jmp 0x4c60f6
test bh, bh
je 0x4c610a
push str.__pre__r_n__body__r_n__html__r_n
push dword [ebp - 0x2908]
push edi
call fcn.004c6dd0
add esp, 0xc
cmp byte [ebp - 0x290b], 0
je 0x4c61e6
push edi
call fcn.0052b311
push edi
call fcn.0052a819
push eax
call fcn.005299cc
add esp, 0xc
mov ebx, eax
cmp ebx, 0xffffffff
je 0x4c61e6
mov byte [ebp - 4], 0xb
lea ecx, [ebx + 2]
push ecx
lea ecx, [ebp - 0x48]
call fcn.00404bb0
mov byte [ebp - 4], 0xc
push 0
push 0
push edi
call fcn.0052a1cb
add esp, 0xc
push edi
push ebx
push 1
mov esi, dword [ebp - 0x48]
push esi
call fcn.00529db5
add esp, 0x10
mov byte [esi + ebx], 0
mov byte [esi + ebx + 1], 0
mov eax, dword [ebp - 0x2908]
sub eax, 0
je 0x4c61ac
sub eax, 1
je 0x4c61a4
sub eax, 1
jne 0x4c61da
push dword [ebp - 0x44]
lea ecx, [ebp - 0x28]
call fcn.00458990
mov byte [ebp - 4], 0xd
push dword [ebp - 0x24]
mov ebx, dword [ebp - 0x28]
push ebx
push esi
call fcn.004b3d10
jmp 0x4c61c8
push esi
call fcn.00458bf0
jmp 0x4c61da
push dword [ebp - 0x44]
lea ecx, [ebp - 0x28]
call fcn.00458990
mov byte [ebp - 4], 0xe
push dword [ebp - 0x24]
mov ebx, dword [ebp - 0x28]
push ebx
push esi
call fcn.004b3e80
push ebx
call fcn.00458bf0
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x28]
call fcn.004051f0
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x48]
call fcn.00405190
mov dword [ebp - 4], 4
push edi
call fcn.00526918
add esp, 4
cmp byte [ebp - 0x290c], 0
je 0x4c6248
push 8
push 0
push 0
lea eax, [ebp - 0x390c]
push eax
push str.print
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
cmp eax, 0x20
ja 0x4c6248
lea eax, [ebp - 0x390c]
push eax
call fcn.004c64a0
test al, al
jne 0x4c6248
lea eax, [ebp - 0x390c]
push eax
push 0x557
call fcn.004a9c90
push eax
call fcn.004f27d0
add esp, 8
cmp byte [0x57a0e0], 0
jne 0x4c6272
cmp word [ebp - 0x390c], 0
je 0x4c6272
lea eax, [ebp - 0x390c]
push eax
call fcn.00495850
push eax
mov ecx, 0x5a84b0
call fcn.00455ed0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x9c68]
call fcn.0044ef90
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x9c38]
call fcn.0044ef90
cmp byte [ebp - 0x9bf3], 0
je 0x4c62a1
call fcn.004f05c0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0051dca8
mov esp, ebp
pop ebp
ret