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

Disassembly:
push ebp
lea ebp, [esp - 0x57a8]
mov eax, 0x57a8
call fcn.0049e430
push 0xffffffffffffffff
push 0x4aebea
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.0049e460
add esp, 0xc
cmp dword [0x4dbc5c], 0
je 0x4599da
push 0
lea ecx, [ebp + 0x4d2c]
push ecx
mov ecx, 0x4e0c08
call fcn.00413690
jmp 0x459ab1
lea ecx, [ebp + 0x5648]
call fcn.00465890
mov dword [ebp - 4], 0
push 0
lea edx, [ebp + 0x5648]
push edx
mov ecx, 0x4dfee0
call fcn.0043ee00
mov eax, dword [ebp + 0x5678]
test eax, eax
jne 0x459a41
push 0x30
push 0x65
call fcn.0045bde0
push eax
push 0x14c
call fcn.0045bde0
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.00465510
jmp 0x45a820
cmp eax, 1
jne 0x459a65
push 0
push 0x400
push 0
lea ecx, [ebp + 0x4d2c]
push ecx
lea ecx, [ebp + 0x5648]
call fcn.00465980
test al, al
jne 0x459a9f
lea edx, [ebp + 0x492c]
push edx
push 0x400
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
lea eax, [ebp + 0x492c]
push eax
call fcn.0044db30
cmp byte [eax], 0
mov ecx, eax
jne 0x459a8f
mov ecx, str.report.
lea edx, [ebp + 0x4d2c]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x459a95
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x5648]
call fcn.00465510
cmp dword [0x4dbc5c], 0
mov eax, str.InterfaceReportArc
jne 0x459ac4
mov eax, str.InterfaceReportFile
push 1
push 0x4b39cc
push eax
call fcn.00456960
test eax, eax
setne al
mov byte [ebp + 0x512e], al
test al, al
mov eax, 0x4b3948
jne 0x459aea
mov eax, 0x4b3944
push eax
lea ecx, [ebp + 0x4d2c]
push ecx
call fcn.0044f530
xor esi, esi
lea esp, [esp]
push 0
lea edx, [ebp + 0x4d2c]
push edx
call fcn.0042f950
test al, al
je 0x459b75
test esi, esi
je 0x459b24
push 0
lea eax, [ebp + 0x4d2c]
push eax
call fcn.0044f530
push esi
push 0x4b3b60
lea ecx, [ebp + 0x5774]
push ecx
call fcn.0049deb5
add esp, 0xc
lea edx, [ebp + 0x5774]
push edx
lea eax, [ebp + 0x4d2c]
push eax
call fcn.0044f530
cmp byte [ebp + 0x512e], 0
mov eax, 0x4b3948
jne 0x459b5f
mov eax, 0x4b3944
push eax
lea ecx, [ebp + 0x4d2c]
push ecx
call fcn.0044f530
inc esi
cmp esi, 0x3e8
jl 0x459b00
lea edx, [ebp + 0x4d2c]
push edx
push 0x4592c0
mov eax, dword [0x4dc1c8]
push eax
push 0x4b3a24
mov ecx, dword [0x4c9360]
push ecx
call dword [sym.imp.USER32.dll_DialogBoxParamA]
test eax, eax
je 0x45a820
lea edx, [ebp + 0x5140]
push edx
push str.Rar_RPXXXXXX
call fcn.0047f0a0
test al, al
je 0x45a820
lea eax, [ebp + 0x5140]
push eax
call fcn.0044dfb0
lea ecx, [ebp + 0x4d2c]
push ecx
call fcn.0044db30
cmp byte [eax], 0
jne 0x459bea
cmp byte [ebp + 0x512e], 0
mov eax, str.report.htm
jne 0x459bea
mov eax, str.report.txt
mov edx, eax
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x459bf0
sub eax, edx
lea edi, [ebp + 0x5140]
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x459c00
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 0x4b3760
lea edx, [ebp + 0x5140]
push edx
call fcn.0049f748
add esp, 8
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x459c49
lea eax, [ebp + 0x5140]
push eax
mov ecx, 0x4c9364
call fcn.004283c0
jmp 0x45a820
xor edi, edi
push edi
push edi
push 0x4b1914
push 0xa
call fcn.00481a20
mov byte [ebp - 0x15], al
push 0x556
call fcn.0045bde0
push eax
call fcn.0047f870
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 0x459c9b
cmp byte [ebp + 0x5136], al
mov byte [ebp - 0x24], al
jne 0x459c9f
mov byte [ebp - 0x24], 1
lea ecx, [ebp - 0x14c]
call fcn.0043cf00
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x258]
call fcn.0043cf00
mov byte [ebp - 4], 2
cmp dword [0x4dbc5c], edi
je 0x459d0c
lea ecx, [ebp + 0x285c]
push ecx
lea edx, [ebp + 0x492c]
push edx
mov ecx, 0x4e0c08
call fcn.00413690
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x258]
push ecx
lea edx, [ebp - 0x14c]
push edx
lea eax, [ebp + 0x285c]
push eax
lea ecx, [ebp + 0x492c]
push ecx
call fcn.00459830
mov bl, al
jmp 0x459fde
lea ecx, [ebp + 0x5648]
call fcn.00465890
mov byte [ebp - 4], 3
push edi
lea edx, [ebp + 0x5648]
push edx
mov ecx, 0x4dfee0
call fcn.0043ee00
push 1
push edi
push 3
lea eax, [ebp + 0x5648]
push eax
lea ecx, [ebp]
call fcn.0045e620
mov byte [ebp - 4], 4
lea ecx, [ebp + 0x3c70]
call fcn.004680a0
lea ecx, [ebp + 0x3c94]
call fcn.004680a0
lea ecx, [ebp + 0x3cb8]
call fcn.004680a0
lea ecx, [ebp + 0x305c]
push ecx
lea ecx, [ebp]
call fcn.0045f020
test eax, eax
jne 0x459fc3
call fcn.004458e0
cmp byte [ebp + 0x5136], 0
je 0x459f45
push 0xc30
push edi
lea edx, [ebp + 0x40fc]
push edx
call fcn.0049e460
add esp, 0xc
xor eax, eax
jmp 0x459db0
mov cl, byte [ebp + eax + 0x305c]
mov byte [ebp + eax + 0x40fc], cl
inc eax
test cl, cl
jne 0x459db0
lea eax, [ebp + 0x345c]
push eax
lea ecx, [ebp + 0x44fc]
push ecx
call fcn.0046dae0
mov eax, dword [ebp + 0x3c5c]
mov dword [ebp + 0x4d04], eax
mov edx, dword [ebp + 0x3c60]
mov dword [ebp + 0x4d08], edx
mov dword [ebp + 0x4cfc], eax
mov dword [ebp + 0x4d00], edx
cmp byte [ebp + 0x513a], 0
je 0x459e67
test dword [ebp + 0x3c64], 0x800
je 0x459e67
call fcn.0043ca60
test eax, eax
je 0x459e5b
lea edx, [ebp - 0x1c]
push edx
lea eax, [ebp + 0x305c]
push eax
call dword [sym.imp.KERNEL32.dll_GetCompressedFileSizeA]
mov esi, eax
cmp esi, 0xffffffff
jne 0x459e3a
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x459e5b
push 1
push edi
push edi
mov ecx, dword [ebp - 0x1c]
push ecx
call fcn.0049ea60
xor ecx, ecx
add eax, esi
mov dword [ebp + 0x4d04], eax
adc edx, ecx
mov dword [ebp + 0x4d08], edx
jmp 0x459e67
mov eax, dword [ebp + 0x4d04]
mov edx, dword [ebp + 0x4d08]
mov ecx, dword [ebp + 0x3c64]
mov dword [ebp + 0x4d0c], ecx
mov ecx, dword [ebp + 0x40ec]
mov dword [ebp + 0x4d10], ecx
mov ecx, dword [ebp + 0x40f0]
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 0x459f2d
mov edx, dword [ebp + 0x3c64]
push edx
call fcn.0042f9a0
test al, al
jne 0x459f2d
lea ecx, [ebp + 0x243c]
call fcn.0042e760
mov byte [ebp - 4], 5
push edi
push edi
lea eax, [ebp + 0x345c]
push eax
lea ecx, [ebp + 0x305c]
push ecx
lea ecx, [ebp + 0x243c]
call fcn.0042eb50
test al, al
je 0x459f1e
push edi
push 0x7fffffff
push 0x7fffffff
lea edx, [ebp + 0x243c]
push edx
call fcn.004307d0
mov dword [ebp + 0x4d1c], eax
or dword [ebp + 0x4d18], 8
mov byte [ebp - 4], 4
lea ecx, [ebp + 0x243c]
call fcn.0042eb20
lea eax, [ebp + 0x40fc]
push eax
lea ecx, [ebp - 0x14c]
call fcn.0043cb60
cmp byte [ebp - 0x44], 0
jne 0x459fc1
cmp dword [0x4dc178], edi
jne 0x459fc1
cmp byte [ebp + 0x5135], 0
je 0x459fa8
cmp byte [ebp + 0x3c6c], 0
jne 0x459fa8
push 2
push edi
lea ecx, [ebp + 0x345c]
push ecx
lea edx, [ebp + 0x305c]
push edx
mov ecx, 0x4e0c08
call fcn.004145d0
cmp eax, 1
jne 0x459fa8
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x258]
push ecx
lea edx, [ebp - 0x14c]
push edx
lea eax, [ebp + 0x345c]
push eax
lea ecx, [ebp + 0x305c]
push ecx
call fcn.00459830
test al, al
je 0x459fc1
lea edx, [ebp + 0x305c]
push edx
lea ecx, [ebp]
call fcn.0045f020
test eax, eax
je 0x459d7d
jmp 0x459fc3
xor bl, bl
mov byte [ebp - 4], 3
lea ecx, [ebp]
call fcn.0045e890
mov byte [ebp - 4], 2
lea ecx, [ebp + 0x5648]
call fcn.00465510
test bl, bl
je 0x45a7ec
lea ecx, [ebp - 0x14c]
call fcn.0043cdf0
lea ecx, [ebp - 0x258]
call fcn.0043cdf0
cmp dword [ebp + 0x5130], 6
je 0x45a030
lea eax, [ebp + 0x4d2c]
mov dword [0x4ee168], eax
push 0x4591e0
push 0x40
mov ecx, dword [ebp - 0x48]
push ecx
push edi
lea ecx, [ebp - 0x14c]
call fcn.00405b70
push eax
call fcn.004a0d30
add esp, 0x10
cmp byte [ebp + 0x512e], 0
je 0x45a0c0
lea ecx, [ebp + 0x5780]
call fcn.004680a0
lea ecx, [ebp + 0x5780]
call fcn.00468360
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.0049deb5
add esp, 0x1c
lea edx, [ebp + 0x5740]
push edx
push 0x55b
call fcn.0045bde0
push eax
lea eax, [ebp + 0x48c8]
push eax
call fcn.0049deb5
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.004a159b
add esp, 0x18
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x20], edi
cmp dword [ebp - 0x48], edi
jbe 0x45a3b5
nop
mov byte [ebp + 0x452c], 0
mov eax, dword [ebp - 0x20]
push eax
lea ecx, [ebp + 0x242c]
push ecx
lea ecx, [ebp - 0x14c]
call fcn.0043cd40
cmp byte [ebp + 0x5137], 0
je 0x45a1a2
mov eax, dword [ebp + 0x3058]
cmp eax, dword [ebp - 0x1c]
je 0x45a1a2
mov dword [ebp - 0x1c], eax
mov esi, dword [ebp - 0x14]
cmp byte [ebp + 0x512e], 0
je 0x45a126
push 0x4b3ae0
push esi
call fcn.004a159b
add esp, 8
push 0x4b3adc
push esi
call fcn.004a159b
add esp, 8
mov eax, dword [ebp + 0x3058]
test eax, eax
je 0x45a169
dec eax
push eax
lea edx, [ebp + 0x34cc]
push edx
lea ecx, [ebp - 0x258]
call fcn.0043cd40
push eax
push 0x28a
call fcn.0045bde0
push eax
push esi
call fcn.004a159b
add esp, 0xc
jmp 0x45a17d
push 0x558
call fcn.0045bde0
push eax
push esi
call fcn.004a159b
add esp, 8
cmp byte [ebp + 0x512e], 0
je 0x45a194
push str.__b_
push esi
call fcn.004a159b
add esp, 8
push 0x4b2834
push esi
call fcn.004a159b
add esp, 8
mov eax, dword [ebp + 0x303c]
push eax
call fcn.0042f9a0
mov bl, al
cmp byte [ebp + 0x513b], 0
je 0x45a221
lea ecx, [ebp + 0x5780]
call fcn.004680a0
lea ecx, [ebp + 0x3040]
push ecx
lea ecx, [ebp + 0x5780]
call fcn.004680b0
lea eax, [ebp + 0x452c]
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x45a1e0
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 0x4b3ab8
lea eax, [ebp + eax + 0x452c]
push eax
call fcn.0049deb5
add esp, 0x1c
cmp byte [ebp + 0x5139], 0
je 0x45a282
lea ecx, [ebp + 0x5754]
push ecx
mov edx, dword [ebp + 0x3030]
push edx
mov eax, dword [ebp + 0x302c]
push eax
call fcn.004653a0
test bl, bl
je 0x45a254
push 0x573
call fcn.0045bde0
jmp 0x45a25a
lea eax, [ebp + 0x5754]
lea ecx, [ebp + 0x452c]
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x45a263
sub ecx, esi
push eax
push str._12s
lea ecx, [ebp + ecx + 0x452c]
push ecx
call fcn.0049deb5
add esp, 0xc
cmp byte [ebp + 0x513a], 0
je 0x45a2e3
lea edx, [ebp + 0x5754]
push edx
mov eax, dword [ebp + 0x3038]
push eax
mov ecx, dword [ebp + 0x3034]
push ecx
call fcn.004653a0
test bl, bl
je 0x45a2b5
push 0x573
call fcn.0045bde0
jmp 0x45a2bb
lea eax, [ebp + 0x5754]
lea ecx, [ebp + 0x452c]
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x45a2c4
sub ecx, esi
push eax
push str._12s
lea edx, [ebp + ecx + 0x452c]
push edx
call fcn.0049deb5
add esp, 0xc
cmp byte [ebp + 0x513c], 0
je 0x45a35f
test byte [ebp + 0x3048], 8
je 0x45a327
lea eax, [ebp + 0x452c]
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x45a300
sub eax, edx
mov ecx, dword [ebp + 0x304c]
push ecx
push 0x4b3aa8
lea edx, [ebp + eax + 0x452c]
push edx
call fcn.0049deb5
add esp, 0xc
jmp 0x45a35f
test bl, bl
mov eax, 0x4b3a9c
jne 0x45a335
mov eax, 0x4b3a90
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x45a337
sub eax, edx
lea edi, [ebp + 0x452c]
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x45a347
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 + 0x242c]
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x45a367
sub eax, esi
lea edi, [ebp + 0x452c]
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x45a377
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.004a159b
add esp, 0xc
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp eax, dword [ebp - 0x48]
jb 0x45a0d0
cmp byte [ebp + 0x5138], 0
je 0x45a6bc
lea edx, [ebp + 0x5754]
push edx
mov eax, dword [ebp - 0x34]
push eax
mov ecx, dword [ebp - 0x38]
push ecx
call fcn.004653a0
lea edx, [ebp + 0x5784]
push edx
mov eax, dword [ebp - 0x2c]
push eax
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.004653a0
cmp byte [ebp + 0x512e], 0
je 0x45a404
push 0x4b3ae0
mov edx, dword [ebp - 0x14]
push edx
call fcn.004a159b
add esp, 8
push 0x4b3a84
mov eax, dword [ebp - 0x14]
push eax
call fcn.004a159b
add esp, 8
mov byte [ebp + 0x5640], 0
mov byte [ebp + 0x5540], 0
cmp byte [ebp + 0x513b], 0
je 0x45a493
lea eax, [ebp + 0x5540]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x45a435
sub eax, edx
mov esi, eax
push 0x1aa
call fcn.0045bde0
push eax
push str.___14s
lea ecx, [ebp + esi + 0x5540]
push ecx
call fcn.0049deb5
add esp, 0xc
lea eax, [ebp + 0x5640]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x45a470
sub eax, edx
push 0x4b1914
push str.___14s
lea edx, [ebp + eax + 0x5640]
push edx
call fcn.0049deb5
add esp, 0xc
cmp byte [ebp + 0x5139], 0
je 0x45a4fb
lea eax, [ebp + 0x5540]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x45a4a5
sub eax, edx
mov esi, eax
push 0x6f
call fcn.0045bde0
push eax
push str._12s
lea eax, [ebp + esi + 0x5540]
push eax
call fcn.0049deb5
add esp, 0xc
lea eax, [ebp + 0x5640]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x45a4d6
sub eax, edx
lea ecx, [ebp + 0x5754]
push ecx
push str._12s
lea edx, [ebp + eax + 0x5640]
push edx
call fcn.0049deb5
add esp, 0xc
cmp byte [ebp + 0x513a], 0
je 0x45a566
lea eax, [ebp + 0x5540]
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x45a510
sub eax, edx
mov esi, eax
push 0x71
call fcn.0045bde0
push eax
push str._12s
lea eax, [ebp + esi + 0x5540]
push eax
call fcn.0049deb5
add esp, 0xc
lea eax, [ebp + 0x5640]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x45a541
sub eax, edx
lea ecx, [ebp + 0x5784]
push ecx
push str._12s
lea edx, [ebp + eax + 0x5640]
push edx
call fcn.0049deb5
add esp, 0xc
cmp byte [ebp + 0x513c], 0
je 0x45a5c4
lea eax, [ebp + 0x5540]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x45a576
mov edx, dword [0x4b3a6c]
mov dword [eax], edx
mov esi, dword [0x4b3a70]
mov dword [eax + 4], esi
mov di, word [0x4b3a74]
mov word [eax + 8], di
mov bl, byte [0x4b3a76]
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 0x45a5b0
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 0x45a5f3
mov ax, word [0x4b3a68]
mov word [ebp + 0x5540], ax
mov cl, byte [0x4b3a6a]
mov byte [ebp + 0x5542], cl
mov word [ebp + 0x5640], ax
mov byte [ebp + 0x5642], cl
push 0x559
call fcn.0045bde0
mov edx, eax
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x45a600
sub eax, edx
lea edi, [ebp + 0x5540]
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x45a610
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 0x45a631
sub eax, edx
mov ecx, dword [ebp - 0x40]
push ecx
push 0x4b2880
lea edx, [ebp + eax + 0x5640]
push edx
call fcn.0049deb5
add esp, 0xc
mov al, 0x20
cmp byte [ebp + 0x5540], al
jne 0x45a66c
cmp byte [ebp + 0x5541], al
jne 0x45a66c
mov byte [ebp + 0x5540], 0x23
cmp byte [ebp + 0x5640], al
jne 0x45a683
cmp byte [ebp + 0x5641], al
jne 0x45a683
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.004a159b
add esp, 0x10
cmp byte [ebp + 0x512e], 0
je 0x45a6d6
push str.__b_
mov eax, dword [ebp - 0x14]
push eax
call fcn.004a159b
add esp, 8
cmp byte [ebp + 0x512e], 0
je 0x45a6d6
push str.__pre__r_n__body__r_n__html__r_n
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.004a159b
add esp, 8
cmp byte [ebp + 0x512d], 0
je 0x45a74e
mov esi, dword [ebp - 0x14]
push esi
call fcn.004a13f7
push esi
call fcn.004a6e17
push eax
call fcn.004ac701
add esp, 0xc
mov esi, eax
cmp esi, 0xffffffff
je 0x45a74e
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.0049fca5
push edi
push esi
push 1
mov edi, dword [ebp + 0x5774]
push edi
call fcn.0049f9f9
add esp, 0x1c
mov byte [edi + esi], 0
push edi
call fcn.00444dd0
mov byte [ebp - 4], 6
lea ecx, [ebp + 0x5774]
call fcn.0046f520
mov dword [ebp - 4], 2
mov eax, dword [ebp - 0x14]
push eax
call fcn.0049f426
add esp, 4
cmp byte [ebp + 0x4d2c], 0
je 0x45a795
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 0x45a795
lea eax, [ebp + 0x4d2c]
push eax
mov ecx, 0x4c9364
call fcn.004283c0
cmp byte [ebp + 0x512c], 0
je 0x45a7b5
push 0
lea ecx, [ebp + 0x5140]
push ecx
call fcn.00495d70
cmp byte [ebp + 0x512c], 0
jne 0x45a7c1
lea edx, [ebp + 0x5140]
push edx
call fcn.00445910
cmp dword [0x4dbc5c], 0
jne 0x45a7ec
cmp byte [ebp + 0x4d2c], 0
je 0x45a7ec
push 0
lea eax, [ebp + 0x4d2c]
push eax
call fcn.0044db30
push eax
mov ecx, 0x4dfee0
call fcn.00440fc0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x258]
call fcn.004144e0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14c]
call fcn.004144e0
cmp byte [ebp - 0x15], 0
je 0x45a820
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.0049dea6
add ebp, 0x57a8
mov esp, ebp
pop ebp
ret