Function at 0x459430
Capabilities:
Copy file
Get common file path
Read file on windows

Disassembly:
push ebp
lea ebp, [esp - 0x57a8]
mov eax, 0x57a8
call fcn.0049e650
push 0xffffffffffffffff
push 0x4aee4a
mov eax, dword fs:[0]
push eax
sub esp, 0x24c
mov eax, dword [0x4c0390]
xor eax, ebp
mov dword [ebp + 0x57a4], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
push 0x414
push 0
lea eax, [ebp + 0x4d2c]
push eax
call fcn.0049e680
add esp, 0xc
cmp dword [0x4dbc5c], 0
je 0x4594aa
push 0
lea ecx, [ebp + 0x4d2c]
push ecx
mov ecx, 0x4e0c18
call fcn.004134e0
jmp 0x459581
lea ecx, [ebp + 0x5648]
call fcn.004653d0
mov dword [ebp - 4], 0
push 0
lea edx, [ebp + 0x5648]
push edx
mov ecx, 0x4dfef0
call fcn.0043ed70
mov eax, dword [ebp + 0x5678]
test eax, eax
jne 0x459511
push 0x30
push 0x65
call fcn.0045b8f0
push eax
push 0x14c
call fcn.0045b8f0
push eax
mov eax, dword [0x4dc1c8]
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x5648]
call fcn.00465050
jmp 0x45a330
cmp eax, 1
jne 0x459535
push 0
push 0x400
push 0
lea ecx, [ebp + 0x4d2c]
push ecx
lea ecx, [ebp + 0x5648]
call fcn.004654c0
test al, al
jne 0x45956f
lea edx, [ebp + 0x492c]
push edx
push 0x400
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
lea eax, [ebp + 0x492c]
push eax
call fcn.0044d530
cmp byte [eax], 0
mov ecx, eax
jne 0x45955f
mov ecx, str.report.
lea edx, [ebp + 0x4d2c]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x459565
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x5648]
call fcn.00465050
cmp dword [0x4dbc5c], 0
mov eax, str.InterfaceReportArc
jne 0x459594
mov eax, str.InterfaceReportFile
push 1
push 0x4b3990
push eax
call fcn.00456400
test eax, eax
setne al
mov byte [ebp + 0x512e], al
test al, al
mov eax, 0x4b390c
jne 0x4595ba
mov eax, 0x4b3908
push eax
lea ecx, [ebp + 0x4d2c]
push ecx
call fcn.0044ef30
xor esi, esi
lea esp, [esp]
push 0
lea edx, [ebp + 0x4d2c]
push edx
call fcn.0042f890
test al, al
je 0x459645
test esi, esi
je 0x4595f4
push 0
lea eax, [ebp + 0x4d2c]
push eax
call fcn.0044ef30
push esi
push 0x4b3b28
lea ecx, [ebp + 0x5774]
push ecx
call fcn.0049e0d5
add esp, 0xc
lea edx, [ebp + 0x5774]
push edx
lea eax, [ebp + 0x4d2c]
push eax
call fcn.0044ef30
cmp byte [ebp + 0x512e], 0
mov eax, 0x4b390c
jne 0x45962f
mov eax, 0x4b3908
push eax
lea ecx, [ebp + 0x4d2c]
push ecx
call fcn.0044ef30
inc esi
cmp esi, 0x3e8
jl 0x4595d0
lea edx, [ebp + 0x4d2c]
push edx
push 0x458d70
mov eax, dword [0x4dc1c8]
push eax
push 0x4b39e8
mov ecx, dword [0x4c9360]
push ecx
call dword [sym.imp.USER32.dll_DialogBoxParamA]
test eax, eax
je 0x45a330
lea edx, [ebp + 0x5140]
push edx
push str.Rar_RPXXXXXX
call fcn.0047ec00
test al, al
je 0x45a330
lea eax, [ebp + 0x5140]
push eax
call fcn.0044d9b0
lea ecx, [ebp + 0x4d2c]
push ecx
call fcn.0044d530
cmp byte [eax], 0
jne 0x4596ba
cmp byte [ebp + 0x512e], 0
mov eax, str.report.htm
jne 0x4596ba
mov eax, str.report.txt
mov edx, eax
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4596c0
sub eax, edx
lea edi, [ebp + 0x5140]
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4596d0
mov ecx, eax
mov esi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push 0x4b3afc
lea edx, [ebp + 0x5140]
push edx
call fcn.0049f968
add esp, 8
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x459719
lea eax, [ebp + 0x5140]
push eax
mov ecx, 0x4c9364
call fcn.004282f0
jmp 0x45a330
xor edi, edi
push edi
push edi
push 0x4b1914
push 0xa
call fcn.00481590
mov byte [ebp - 0x15], al
push 0x556
call fcn.0045b8f0
push eax
call fcn.0047f3d0
mov bl, 1
xor eax, eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
cmp dword [0x4dbc5c], edi
jne 0x45976b
cmp byte [ebp + 0x5136], al
mov byte [ebp - 0x24], al
jne 0x45976f
mov byte [ebp - 0x24], 1
lea ecx, [ebp - 0x14c]
call fcn.0043ce50
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x258]
call fcn.0043ce50
mov byte [ebp - 4], 2
cmp dword [0x4dbc5c], edi
je 0x4597dc
lea ecx, [ebp + 0x38fc]
push ecx
lea edx, [ebp + 0x492c]
push edx
mov ecx, 0x4e0c18
call fcn.004134e0
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x258]
push ecx
lea edx, [ebp - 0x14c]
push edx
lea eax, [ebp + 0x38fc]
push eax
lea ecx, [ebp + 0x492c]
push ecx
call fcn.004592e0
mov bl, al
jmp 0x459aae
lea ecx, [ebp + 0x5648]
call fcn.004653d0
mov byte [ebp - 4], 3
push edi
lea edx, [ebp + 0x5648]
push edx
mov ecx, 0x4dfef0
call fcn.0043ed70
push 1
push edi
push 3
lea eax, [ebp + 0x5648]
push eax
lea ecx, [ebp]
call fcn.0045e150
mov byte [ebp - 4], 4
lea ecx, [ebp + 0x3040]
call fcn.00467be0
lea ecx, [ebp + 0x3064]
call fcn.00467be0
lea ecx, [ebp + 0x3088]
call fcn.00467be0
lea ecx, [ebp + 0x242c]
push ecx
lea ecx, [ebp]
call fcn.0045eb50
test eax, eax
jne 0x459a93
call fcn.00445340
cmp byte [ebp + 0x5136], 0
je 0x459a15
push 0xc30
push edi
lea edx, [ebp + 0x40fc]
push edx
call fcn.0049e680
add esp, 0xc
xor eax, eax
jmp 0x459880
mov cl, byte [ebp + eax + 0x242c]
mov byte [ebp + eax + 0x40fc], cl
inc eax
test cl, cl
jne 0x459880
lea eax, [ebp + 0x282c]
push eax
lea ecx, [ebp + 0x44fc]
push ecx
call fcn.0046d630
mov eax, dword [ebp + 0x302c]
mov dword [ebp + 0x4d04], eax
mov edx, dword [ebp + 0x3030]
mov dword [ebp + 0x4d08], edx
mov dword [ebp + 0x4cfc], eax
mov dword [ebp + 0x4d00], edx
cmp byte [ebp + 0x513a], 0
je 0x459937
test dword [ebp + 0x3034], 0x800
je 0x459937
call fcn.0043c9b0
test eax, eax
je 0x45992b
lea edx, [ebp - 0x1c]
push edx
lea eax, [ebp + 0x242c]
push eax
call dword [sym.imp.KERNEL32.dll_GetCompressedFileSizeA]
mov esi, eax
cmp esi, 0xffffffff
jne 0x45990a
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x45992b
push 1
push edi
push edi
mov ecx, dword [ebp - 0x1c]
push ecx
call fcn.0049ec80
xor ecx, ecx
add eax, esi
mov dword [ebp + 0x4d04], eax
adc edx, ecx
mov dword [ebp + 0x4d08], edx
jmp 0x459937
mov eax, dword [ebp + 0x4d04]
mov edx, dword [ebp + 0x4d08]
mov ecx, dword [ebp + 0x3034]
mov dword [ebp + 0x4d0c], ecx
mov ecx, dword [ebp + 0x34bc]
mov dword [ebp + 0x4d10], ecx
mov ecx, dword [ebp + 0x34c0]
mov dword [ebp + 0x4d14], ecx
mov ecx, dword [ebp - 0x28]
mov dword [ebp + 0x4d20], ecx
inc ecx
mov dword [ebp - 0x28], ecx
inc dword [ebp - 0x40]
mov ecx, dword [ebp + 0x4cfc]
add dword [ebp - 0x38], ecx
mov ecx, dword [ebp + 0x4d00]
adc dword [ebp - 0x34], ecx
add dword [ebp - 0x30], eax
adc dword [ebp - 0x2c], edx
cmp byte [ebp + 0x513c], 0
je 0x4599fd
mov edx, dword [ebp + 0x3034]
push edx
call fcn.0042f8e0
test al, al
jne 0x4599fd
lea ecx, [ebp + 0x34dc]
call fcn.0042e6a0
mov byte [ebp - 4], 5
push edi
push edi
lea eax, [ebp + 0x282c]
push eax
lea ecx, [ebp + 0x242c]
push ecx
lea ecx, [ebp + 0x34dc]
call fcn.0042ea90
test al, al
je 0x4599ee
push edi
push 0x7fffffff
push 0x7fffffff
lea edx, [ebp + 0x34dc]
push edx
call fcn.00430720
mov dword [ebp + 0x4d1c], eax
or dword [ebp + 0x4d18], 8
mov byte [ebp - 4], 4
lea ecx, [ebp + 0x34dc]
call fcn.0042ea60
lea eax, [ebp + 0x40fc]
push eax
lea ecx, [ebp - 0x14c]
call fcn.0043cab0
cmp byte [ebp - 0x44], 0
jne 0x459a91
cmp dword [0x4dc178], edi
jne 0x459a91
cmp byte [ebp + 0x5135], 0
je 0x459a78
cmp byte [ebp + 0x303c], 0
jne 0x459a78
push 2
push edi
lea ecx, [ebp + 0x282c]
push ecx
lea edx, [ebp + 0x242c]
push edx
mov ecx, 0x4e0c18
call fcn.00414420
cmp eax, 1
jne 0x459a78
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x258]
push ecx
lea edx, [ebp - 0x14c]
push edx
lea eax, [ebp + 0x282c]
push eax
lea ecx, [ebp + 0x242c]
push ecx
call fcn.004592e0
test al, al
je 0x459a91
lea edx, [ebp + 0x242c]
push edx
lea ecx, [ebp]
call fcn.0045eb50
test eax, eax
je 0x45984d
jmp 0x459a93
xor bl, bl
mov byte [ebp - 4], 3
lea ecx, [ebp]
call fcn.0045e3c0
mov byte [ebp - 4], 2
lea ecx, [ebp + 0x5648]
call fcn.00465050
test bl, bl
je 0x45a2fc
lea ecx, [ebp - 0x14c]
call fcn.0043cd40
lea ecx, [ebp - 0x258]
call fcn.0043cd40
cmp dword [ebp + 0x5130], 6
je 0x459b00
lea eax, [ebp + 0x4d2c]
mov dword [0x4edd98], eax
push 0x458c80
push 0x40
mov ecx, dword [ebp - 0x48]
push ecx
push edi
lea ecx, [ebp - 0x14c]
call fcn.00405b90
push eax
call fcn.004a0f60
add esp, 0x10
cmp byte [ebp + 0x512e], 0
je 0x459b90
lea ecx, [ebp + 0x5780]
call fcn.00467be0
lea ecx, [ebp + 0x5780]
call fcn.00467ea0
mov edx, dword [ebp + 0x5790]
push edx
mov eax, dword [ebp + 0x578c]
push eax
mov ecx, dword [ebp + 0x5788]
push ecx
mov edx, dword [ebp + 0x5784]
push edx
mov eax, dword [ebp + 0x5780]
push eax
push str._u__02u__02u__02u:_02u
lea ecx, [ebp + 0x5740]
push ecx
call fcn.0049e0d5
add esp, 0x1c
lea edx, [ebp + 0x5740]
push edx
push 0x55b
call fcn.0045b8f0
push eax
lea eax, [ebp + 0x48c8]
push eax
call fcn.0049e0d5
lea ecx, [ebp + 0x48c8]
push ecx
push str._html__r_n_head__r_n_title__s__title__r_n__head__r_n_body__r_n_pre__r_n
mov edx, dword [ebp - 0x14]
push edx
call fcn.004a16b1
add esp, 0x18
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x20], edi
cmp dword [ebp - 0x48], edi
jbe 0x459ec5
nop
mov byte [ebp + 0x452c], 0
mov eax, dword [ebp - 0x20]
push eax
lea ecx, [ebp + 0x34cc]
push ecx
lea ecx, [ebp - 0x14c]
call fcn.0043cc90
cmp byte [ebp + 0x5137], 0
je 0x459c72
mov eax, dword [ebp + 0x40f8]
cmp eax, dword [ebp - 0x1c]
je 0x459c72
mov dword [ebp - 0x1c], eax
mov esi, dword [ebp - 0x14]
cmp byte [ebp + 0x512e], 0
je 0x459bf6
push 0x4b3aa4
push esi
call fcn.004a16b1
add esp, 8
push 0x4b3aa0
push esi
call fcn.004a16b1
add esp, 8
mov eax, dword [ebp + 0x40f8]
test eax, eax
je 0x459c39
dec eax
push eax
lea edx, [ebp + 0x289c]
push edx
lea ecx, [ebp - 0x258]
call fcn.0043cc90
push eax
push 0x28a
call fcn.0045b8f0
push eax
push esi
call fcn.004a16b1
add esp, 0xc
jmp 0x459c4d
push 0x558
call fcn.0045b8f0
push eax
push esi
call fcn.004a16b1
add esp, 8
cmp byte [ebp + 0x512e], 0
je 0x459c64
push str.__b_
push esi
call fcn.004a16b1
add esp, 8
push 0x4b2834
push esi
call fcn.004a16b1
add esp, 8
mov eax, dword [ebp + 0x40dc]
push eax
call fcn.0042f8e0
mov bl, al
cmp byte [ebp + 0x513b], 0
je 0x459cf1
lea ecx, [ebp + 0x5780]
call fcn.00467be0
lea ecx, [ebp + 0x40e0]
push ecx
lea ecx, [ebp + 0x5780]
call fcn.00467bf0
lea eax, [ebp + 0x452c]
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x459cb0
sub eax, edx
mov edx, dword [ebp + 0x5790]
push edx
mov ecx, dword [ebp + 0x578c]
push ecx
mov edx, dword [ebp + 0x5788]
push edx
mov ecx, dword [ebp + 0x5784]
push ecx
mov edx, dword [ebp + 0x5780]
push edx
push 0x4b3a7c
lea eax, [ebp + eax + 0x452c]
push eax
call fcn.0049e0d5
add esp, 0x1c
cmp byte [ebp + 0x5139], 0
je 0x459d6f
mov eax, dword [ebp + 0x40cc]
cmp eax, 0x7fffffff
jne 0x459d1d
cmp dword [ebp + 0x40d0], eax
jne 0x459d1d
mov ecx, 0x3f
mov word [ebp + 0x5754], cx
jmp 0x459d31
lea edx, [ebp + 0x5754]
push edx
mov ecx, dword [ebp + 0x40d0]
push ecx
push eax
call fcn.00464ee0
test bl, bl
je 0x459d41
push 0x573
call fcn.0045b8f0
jmp 0x459d47
lea eax, [ebp + 0x5754]
lea ecx, [ebp + 0x452c]
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x459d50
sub ecx, esi
push eax
push str._12s
lea edx, [ebp + ecx + 0x452c]
push edx
call fcn.0049e0d5
add esp, 0xc
cmp byte [ebp + 0x513a], 0
je 0x459def
mov eax, dword [ebp + 0x40d4]
cmp eax, 0x7fffffff
jne 0x459d9b
cmp dword [ebp + 0x40d8], eax
jne 0x459d9b
mov eax, 0x3f
mov word [ebp + 0x5754], ax
jmp 0x459daf
lea ecx, [ebp + 0x5754]
push ecx
mov edx, dword [ebp + 0x40d8]
push edx
push eax
call fcn.00464ee0
test bl, bl
je 0x459dbf
push 0x573
call fcn.0045b8f0
jmp 0x459dc5
lea eax, [ebp + 0x5754]
lea ecx, [ebp + 0x452c]
lea esi, [ecx + 1]
mov edi, edi
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x459dd0
sub ecx, esi
push eax
push str._12s
lea eax, [ebp + ecx + 0x452c]
push eax
call fcn.0049e0d5
add esp, 0xc
cmp byte [ebp + 0x513c], 0
je 0x459e6f
test byte [ebp + 0x40e8], 8
je 0x459e37
lea eax, [ebp + 0x452c]
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x459e10
sub eax, edx
mov ecx, dword [ebp + 0x40ec]
push ecx
push 0x4b3a6c
lea edx, [ebp + eax + 0x452c]
push edx
call fcn.0049e0d5
add esp, 0xc
jmp 0x459e6f
test bl, bl
mov eax, 0x4b3a60
jne 0x459e45
mov eax, 0x4b3a54
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x459e47
sub eax, edx
lea edi, [ebp + 0x452c]
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x459e57
mov ecx, eax
mov esi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebp + 0x34cc]
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x459e77
sub eax, esi
lea edi, [ebp + 0x452c]
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x459e87
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebp + 0x452c]
push eax
push str._s_r_n
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.004a16b1
add esp, 0xc
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp eax, dword [ebp - 0x48]
jb 0x459ba0
cmp byte [ebp + 0x5138], 0
je 0x45a1cc
lea edx, [ebp + 0x5754]
push edx
mov eax, dword [ebp - 0x34]
push eax
mov ecx, dword [ebp - 0x38]
push ecx
call fcn.00464ee0
lea edx, [ebp + 0x5784]
push edx
mov eax, dword [ebp - 0x2c]
push eax
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.00464ee0
cmp byte [ebp + 0x512e], 0
je 0x459f14
push 0x4b3aa4
mov edx, dword [ebp - 0x14]
push edx
call fcn.004a16b1
add esp, 8
push 0x4b3a48
mov eax, dword [ebp - 0x14]
push eax
call fcn.004a16b1
add esp, 8
mov byte [ebp + 0x5640], 0
mov byte [ebp + 0x5540], 0
cmp byte [ebp + 0x513b], 0
je 0x459fa3
lea eax, [ebp + 0x5540]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x459f45
sub eax, edx
mov esi, eax
push 0x1aa
call fcn.0045b8f0
push eax
push str.___14s
lea ecx, [ebp + esi + 0x5540]
push ecx
call fcn.0049e0d5
add esp, 0xc
lea eax, [ebp + 0x5640]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x459f80
sub eax, edx
push 0x4b1914
push str.___14s
lea edx, [ebp + eax + 0x5640]
push edx
call fcn.0049e0d5
add esp, 0xc
cmp byte [ebp + 0x5139], 0
je 0x45a00b
lea eax, [ebp + 0x5540]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x459fb5
sub eax, edx
mov esi, eax
push 0x6f
call fcn.0045b8f0
push eax
push str._12s
lea eax, [ebp + esi + 0x5540]
push eax
call fcn.0049e0d5
add esp, 0xc
lea eax, [ebp + 0x5640]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x459fe6
sub eax, edx
lea ecx, [ebp + 0x5754]
push ecx
push str._12s
lea edx, [ebp + eax + 0x5640]
push edx
call fcn.0049e0d5
add esp, 0xc
cmp byte [ebp + 0x513a], 0
je 0x45a076
lea eax, [ebp + 0x5540]
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x45a020
sub eax, edx
mov esi, eax
push 0x71
call fcn.0045b8f0
push eax
push str._12s
lea eax, [ebp + esi + 0x5540]
push eax
call fcn.0049e0d5
add esp, 0xc
lea eax, [ebp + 0x5640]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x45a051
sub eax, edx
lea ecx, [ebp + 0x5784]
push ecx
push str._12s
lea edx, [ebp + eax + 0x5640]
push edx
call fcn.0049e0d5
add esp, 0xc
cmp byte [ebp + 0x513c], 0
je 0x45a0d4
lea eax, [ebp + 0x5540]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x45a086
mov edx, dword [0x4b3a30]
mov dword [eax], edx
mov esi, dword [0x4b3a34]
mov dword [eax + 4], esi
mov di, word [0x4b3a38]
mov word [eax + 8], di
mov bl, byte [0x4b3a3a]
mov byte [eax + 0xa], bl
lea eax, [ebp + 0x5640]
dec eax
lea ebx, [ebx]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x45a0c0
mov dword [eax], edx
mov dword [eax + 4], esi
mov word [eax + 8], di
mov byte [eax + 0xa], bl
cmp byte [ebp + 0x5540], 0
jne 0x45a103
mov ax, word [0x4b3a2c]
mov word [ebp + 0x5540], ax
mov cl, byte [0x4b3a2e]
mov byte [ebp + 0x5542], cl
mov word [ebp + 0x5640], ax
mov byte [ebp + 0x5642], cl
push 0x559
call fcn.0045b8f0
mov edx, eax
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x45a110
sub eax, edx
lea edi, [ebp + 0x5540]
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x45a120
mov ecx, eax
mov esi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebp + 0x5640]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x45a141
sub eax, edx
mov ecx, dword [ebp - 0x40]
push ecx
push 0x4b2880
lea edx, [ebp + eax + 0x5640]
push edx
call fcn.0049e0d5
add esp, 0xc
mov al, 0x20
cmp byte [ebp + 0x5540], al
jne 0x45a17c
cmp byte [ebp + 0x5541], al
jne 0x45a17c
mov byte [ebp + 0x5540], 0x23
cmp byte [ebp + 0x5640], al
jne 0x45a193
cmp byte [ebp + 0x5641], al
jne 0x45a193
mov byte [ebp + 0x5640], 0x23
lea eax, [ebp + 0x5640]
push eax
lea ecx, [ebp + 0x5540]
push ecx
push str._s_r_n_s_r_n
mov edx, dword [ebp - 0x14]
push edx
call fcn.004a16b1
add esp, 0x10
cmp byte [ebp + 0x512e], 0
je 0x45a1e6
push str.__b_
mov eax, dword [ebp - 0x14]
push eax
call fcn.004a16b1
add esp, 8
cmp byte [ebp + 0x512e], 0
je 0x45a1e6
push str.__pre__r_n__body__r_n__html__r_n
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.004a16b1
add esp, 8
cmp byte [ebp + 0x512d], 0
je 0x45a25e
mov esi, dword [ebp - 0x14]
push esi
call fcn.004a1655
push esi
call fcn.004a7047
push eax
call fcn.004ac931
add esp, 0xc
mov esi, eax
cmp esi, 0xffffffff
je 0x45a25e
mov byte [ebp - 4], 6
lea edx, [esi + 1]
push edx
lea ecx, [ebp + 0x5774]
call fcn.00401630
mov byte [ebp - 4], 7
push 0
push 0
mov edi, dword [ebp - 0x14]
push edi
call fcn.0049fec5
push edi
push esi
push 1
mov edi, dword [ebp + 0x5774]
push edi
call fcn.0049fc19
add esp, 0x1c
mov byte [edi + esi], 0
push edi
call fcn.00444d30
mov byte [ebp - 4], 6
lea ecx, [ebp + 0x5774]
call fcn.0046e580
mov dword [ebp - 4], 2
mov eax, dword [ebp - 0x14]
push eax
call fcn.0049f646
add esp, 4
cmp byte [ebp + 0x4d2c], 0
je 0x45a2a5
push 0
lea ecx, [ebp + 0x4d2c]
push ecx
lea edx, [ebp + 0x5140]
push edx
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
jne 0x45a2a5
lea eax, [ebp + 0x4d2c]
push eax
mov ecx, 0x4c9364
call fcn.004282f0
cmp byte [ebp + 0x512c], 0
je 0x45a2c5
push 0
lea ecx, [ebp + 0x5140]
push ecx
call fcn.00495f10
cmp byte [ebp + 0x512c], 0
jne 0x45a2d1
lea edx, [ebp + 0x5140]
push edx
call fcn.00445370
cmp dword [0x4dbc5c], 0
jne 0x45a2fc
cmp byte [ebp + 0x4d2c], 0
je 0x45a2fc
push 0
lea eax, [ebp + 0x4d2c]
push eax
call fcn.0044d530
push eax
mov ecx, 0x4dfef0
call fcn.00440f30
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x258]
call fcn.00414330
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14c]
call fcn.00414330
cmp byte [ebp - 0x15], 0
je 0x45a330
mov ecx, dword [0x4db83c]
push ecx
call dword [sym.imp.USER32.dll_DestroyWindow]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x57a4]
xor ecx, ebp
call fcn.0049e0c6
add ebp, 0x57a8
mov esp, ebp
pop ebp
ret