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.0049ebb0
push 0xffffffffffffffff
push 0x4af37a
mov eax, dword fs:[0]
push eax
sub esp, 0x24c
mov eax, dword [0x4c03a0]
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.0049ebe0
add esp, 0xc
cmp dword [0x4dbca4], 0
je 0x4599da
push 0
lea ecx, [ebp + 0x4d2c]
push ecx
mov ecx, 0x4e0c60
call fcn.00413520
jmp 0x459ab1
lea ecx, [ebp + 0x5648]
call fcn.004658e0
mov dword [ebp - 4], 0
push 0
lea edx, [ebp + 0x5648]
push edx
mov ecx, 0x4dff38
call fcn.0043f170
mov eax, dword [ebp + 0x5678]
test eax, eax
jne 0x459a41
push 0x30
push 0x65
call fcn.0045be10
push eax
push 0x14c
call fcn.0045be10
push eax
mov eax, dword [0x4dc210]
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x5648]
call fcn.00465560
jmp 0x45a860
cmp eax, 1
jne 0x459a65
push 0
push 0x400
push 0
lea ecx, [ebp + 0x4d2c]
push ecx
lea ecx, [ebp + 0x5648]
call fcn.004659d0
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.0044daf0
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.00465560
cmp dword [0x4dbca4], 0
mov eax, str.InterfaceReportArc
jne 0x459ac4
mov eax, str.InterfaceReportFile
push 1
push 0x4b3a28
push eax
call fcn.00456940
test eax, eax
setne al
mov byte [ebp + 0x512e], al
test al, al
mov eax, 0x4b39a4
jne 0x459aea
mov eax, 0x4b39a0
push eax
lea ecx, [ebp + 0x4d2c]
push ecx
call fcn.0044f4f0
xor esi, esi
lea esp, [esp]
push 0
lea edx, [ebp + 0x4d2c]
push edx
call fcn.0042fc80
test al, al
je 0x459b75
test esi, esi
je 0x459b24
push 0
lea eax, [ebp + 0x4d2c]
push eax
call fcn.0044f4f0
push esi
push 0x4b3bc0
lea ecx, [ebp + 0x5774]
push ecx
call fcn.0049e635
add esp, 0xc
lea edx, [ebp + 0x5774]
push edx
lea eax, [ebp + 0x4d2c]
push eax
call fcn.0044f4f0
cmp byte [ebp + 0x512e], 0
mov eax, 0x4b39a4
jne 0x459b5f
mov eax, 0x4b39a0
push eax
lea ecx, [ebp + 0x4d2c]
push ecx
call fcn.0044f4f0
inc esi
cmp esi, 0x3e8
jl 0x459b00
lea edx, [ebp + 0x4d2c]
push edx
push 0x4592a0
mov eax, dword [0x4dc210]
push eax
push 0x4b3a80
mov ecx, dword [0x4c93a8]
push ecx
call dword [sym.imp.USER32.dll_DialogBoxParamA]
test eax, eax
je 0x45a860
lea edx, [ebp + 0x5140]
push edx
push str.Rar_RPXXXXXX
call fcn.0047f110
test al, al
je 0x45a860
lea eax, [ebp + 0x5140]
push eax
call fcn.0044df70
lea ecx, [ebp + 0x4d2c]
push ecx
call fcn.0044daf0
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 0x4b3b94
lea edx, [ebp + 0x5140]
push edx
call fcn.0049fec8
add esp, 8
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x459c49
lea eax, [ebp + 0x5140]
push eax
mov ecx, 0x4c93ac
call fcn.004286d0
jmp 0x45a860
xor edi, edi
push edi
push edi
push 0x4b1914
push 0xa
call fcn.00481ad0
mov byte [ebp - 0x15], al
push 0x556
call fcn.0045be10
push eax
call fcn.0047f8e0
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 [0x4dbca4], 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.0043d260
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x258]
call fcn.0043d260
mov byte [ebp - 4], 2
cmp dword [0x4dbca4], edi
je 0x459d0c
lea ecx, [ebp + 0x38fc]
push ecx
lea edx, [ebp + 0x492c]
push edx
mov ecx, 0x4e0c60
call fcn.00413520
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.00459810
mov bl, al
jmp 0x459fde
lea ecx, [ebp + 0x5648]
call fcn.004658e0
mov byte [ebp - 4], 3
push edi
lea edx, [ebp + 0x5648]
push edx
mov ecx, 0x4dff38
call fcn.0043f170
push 1
push edi
push 3
lea eax, [ebp + 0x5648]
push eax
lea ecx, [ebp]
call fcn.0045e680
mov byte [ebp - 4], 4
lea ecx, [ebp + 0x3040]
call fcn.004680f0
lea ecx, [ebp + 0x3064]
call fcn.004680f0
lea ecx, [ebp + 0x3088]
call fcn.004680f0
lea ecx, [ebp + 0x242c]
push ecx
lea ecx, [ebp]
call fcn.0045f070
test eax, eax
jne 0x459fc3
call fcn.00445860
cmp byte [ebp + 0x5136], 0
je 0x459f45
push 0xc30
push edi
lea edx, [ebp + 0x40fc]
push edx
call fcn.0049ebe0
add esp, 0xc
xor eax, eax
jmp 0x459db0
mov cl, byte [ebp + eax + 0x242c]
mov byte [ebp + eax + 0x40fc], cl
inc eax
test cl, cl
jne 0x459db0
lea eax, [ebp + 0x282c]
push eax
lea ecx, [ebp + 0x44fc]
push ecx
call fcn.0046db30
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 0x459e67
test dword [ebp + 0x3034], 0x800
je 0x459e67
call fcn.0043cdb0
test eax, eax
je 0x459e5b
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 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.0049f1e0
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 + 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 0x459f2d
mov edx, dword [ebp + 0x3034]
push edx
call fcn.0042fcd0
test al, al
jne 0x459f2d
lea ecx, [ebp + 0x34dc]
call fcn.0042ea90
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.0042ee80
test al, al
je 0x459f1e
push edi
push 0x7fffffff
push 0x7fffffff
lea edx, [ebp + 0x34dc]
push edx
call fcn.00430b10
mov dword [ebp + 0x4d1c], eax
or dword [ebp + 0x4d18], 8
mov byte [ebp - 4], 4
lea ecx, [ebp + 0x34dc]
call fcn.0042ee50
lea eax, [ebp + 0x40fc]
push eax
lea ecx, [ebp - 0x14c]
call fcn.0043ceb0
cmp byte [ebp - 0x44], 0
jne 0x459fc1
cmp dword [0x4dc1c0], edi
jne 0x459fc1
cmp byte [ebp + 0x5135], 0
je 0x459fa8
cmp byte [ebp + 0x303c], 0
jne 0x459fa8
push 2
push edi
lea ecx, [ebp + 0x282c]
push ecx
lea edx, [ebp + 0x242c]
push edx
mov ecx, 0x4e0c60
call fcn.00414490
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 + 0x282c]
push eax
lea ecx, [ebp + 0x242c]
push ecx
call fcn.00459810
test al, al
je 0x459fc1
lea edx, [ebp + 0x242c]
push edx
lea ecx, [ebp]
call fcn.0045f070
test eax, eax
je 0x459d7d
jmp 0x459fc3
xor bl, bl
mov byte [ebp - 4], 3
lea ecx, [ebp]
call fcn.0045e8f0
mov byte [ebp - 4], 2
lea ecx, [ebp + 0x5648]
call fcn.00465560
test bl, bl
je 0x45a82c
lea ecx, [ebp - 0x14c]
call fcn.0043d140
lea ecx, [ebp - 0x258]
call fcn.0043d140
cmp dword [ebp + 0x5130], 6
je 0x45a030
lea eax, [ebp + 0x4d2c]
mov dword [0x4edde0], eax
push 0x4591c0
push 0x40
mov ecx, dword [ebp - 0x48]
push ecx
push edi
lea ecx, [ebp - 0x14c]
call fcn.0043d250
push eax
call fcn.004a1570
add esp, 0x10
cmp byte [ebp + 0x512e], 0
je 0x45a0c0
lea ecx, [ebp + 0x5780]
call fcn.004680f0
lea ecx, [ebp + 0x5780]
call fcn.004683b0
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.0049e635
add esp, 0x1c
lea edx, [ebp + 0x5740]
push edx
push 0x55b
call fcn.0045be10
push eax
lea eax, [ebp + 0x48c8]
push eax
call fcn.0049e635
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.004a1cc1
add esp, 0x18
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x20], edi
cmp dword [ebp - 0x48], edi
jbe 0x45a3f5
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.0043d090
cmp byte [ebp + 0x5137], 0
je 0x45a1a2
mov eax, dword [ebp + 0x40f8]
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 0x4b3b3c
push esi
call fcn.004a1cc1
add esp, 8
push 0x4b3b38
push esi
call fcn.004a1cc1
add esp, 8
mov eax, dword [ebp + 0x40f8]
test eax, eax
je 0x45a169
dec eax
push eax
lea edx, [ebp + 0x289c]
push edx
lea ecx, [ebp - 0x258]
call fcn.0043d090
push eax
push 0x28a
call fcn.0045be10
push eax
push esi
call fcn.004a1cc1
add esp, 0xc
jmp 0x45a17d
push 0x558
call fcn.0045be10
push eax
push esi
call fcn.004a1cc1
add esp, 8
cmp byte [ebp + 0x512e], 0
je 0x45a194
push str.__b_
push esi
call fcn.004a1cc1
add esp, 8
push 0x4b28cc
push esi
call fcn.004a1cc1
add esp, 8
mov eax, dword [ebp + 0x40dc]
push eax
call fcn.0042fcd0
mov bl, al
cmp byte [ebp + 0x513b], 0
je 0x45a221
lea ecx, [ebp + 0x5780]
call fcn.004680f0
lea ecx, [ebp + 0x40e0]
push ecx
lea ecx, [ebp + 0x5780]
call fcn.00468100
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 0x4b3b14
lea eax, [ebp + eax + 0x452c]
push eax
call fcn.0049e635
add esp, 0x1c
cmp byte [ebp + 0x5139], 0
je 0x45a29f
mov eax, dword [ebp + 0x40cc]
cmp eax, 0x7fffffff
jne 0x45a24d
cmp dword [ebp + 0x40d0], eax
jne 0x45a24d
mov ecx, 0x3f
mov word [ebp + 0x5754], cx
jmp 0x45a261
lea edx, [ebp + 0x5754]
push edx
mov ecx, dword [ebp + 0x40d0]
push ecx
push eax
call fcn.004653f0
test bl, bl
je 0x45a271
push 0x573
call fcn.0045be10
jmp 0x45a277
lea eax, [ebp + 0x5754]
lea ecx, [ebp + 0x452c]
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x45a280
sub ecx, esi
push eax
push str._12s
lea edx, [ebp + ecx + 0x452c]
push edx
call fcn.0049e635
add esp, 0xc
cmp byte [ebp + 0x513a], 0
je 0x45a31f
mov eax, dword [ebp + 0x40d4]
cmp eax, 0x7fffffff
jne 0x45a2cb
cmp dword [ebp + 0x40d8], eax
jne 0x45a2cb
mov eax, 0x3f
mov word [ebp + 0x5754], ax
jmp 0x45a2df
lea ecx, [ebp + 0x5754]
push ecx
mov edx, dword [ebp + 0x40d8]
push edx
push eax
call fcn.004653f0
test bl, bl
je 0x45a2ef
push 0x573
call fcn.0045be10
jmp 0x45a2f5
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 0x45a300
sub ecx, esi
push eax
push str._12s
lea eax, [ebp + ecx + 0x452c]
push eax
call fcn.0049e635
add esp, 0xc
cmp byte [ebp + 0x513c], 0
je 0x45a39f
test byte [ebp + 0x40e8], 8
je 0x45a367
lea eax, [ebp + 0x452c]
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x45a340
sub eax, edx
mov ecx, dword [ebp + 0x40ec]
push ecx
push 0x4b3b04
lea edx, [ebp + eax + 0x452c]
push edx
call fcn.0049e635
add esp, 0xc
jmp 0x45a39f
test bl, bl
mov eax, 0x4b3af8
jne 0x45a375
mov eax, 0x4b3aec
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x45a377
sub eax, edx
lea edi, [ebp + 0x452c]
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x45a387
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 0x45a3a7
sub eax, esi
lea edi, [ebp + 0x452c]
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x45a3b7
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.004a1cc1
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 0x45a6fc
lea edx, [ebp + 0x5754]
push edx
mov eax, dword [ebp - 0x34]
push eax
mov ecx, dword [ebp - 0x38]
push ecx
call fcn.004653f0
lea edx, [ebp + 0x5784]
push edx
mov eax, dword [ebp - 0x2c]
push eax
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.004653f0
cmp byte [ebp + 0x512e], 0
je 0x45a444
push 0x4b3b3c
mov edx, dword [ebp - 0x14]
push edx
call fcn.004a1cc1
add esp, 8
push 0x4b3ae0
mov eax, dword [ebp - 0x14]
push eax
call fcn.004a1cc1
add esp, 8
mov byte [ebp + 0x5640], 0
mov byte [ebp + 0x5540], 0
cmp byte [ebp + 0x513b], 0
je 0x45a4d3
lea eax, [ebp + 0x5540]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x45a475
sub eax, edx
mov esi, eax
push 0x1aa
call fcn.0045be10
push eax
push str.___14s
lea ecx, [ebp + esi + 0x5540]
push ecx
call fcn.0049e635
add esp, 0xc
lea eax, [ebp + 0x5640]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x45a4b0
sub eax, edx
push 0x4b1914
push str.___14s
lea edx, [ebp + eax + 0x5640]
push edx
call fcn.0049e635
add esp, 0xc
cmp byte [ebp + 0x5139], 0
je 0x45a53b
lea eax, [ebp + 0x5540]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x45a4e5
sub eax, edx
mov esi, eax
push 0x6f
call fcn.0045be10
push eax
push str._12s
lea eax, [ebp + esi + 0x5540]
push eax
call fcn.0049e635
add esp, 0xc
lea eax, [ebp + 0x5640]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x45a516
sub eax, edx
lea ecx, [ebp + 0x5754]
push ecx
push str._12s
lea edx, [ebp + eax + 0x5640]
push edx
call fcn.0049e635
add esp, 0xc
cmp byte [ebp + 0x513a], 0
je 0x45a5a6
lea eax, [ebp + 0x5540]
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x45a550
sub eax, edx
mov esi, eax
push 0x71
call fcn.0045be10
push eax
push str._12s
lea eax, [ebp + esi + 0x5540]
push eax
call fcn.0049e635
add esp, 0xc
lea eax, [ebp + 0x5640]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x45a581
sub eax, edx
lea ecx, [ebp + 0x5784]
push ecx
push str._12s
lea edx, [ebp + eax + 0x5640]
push edx
call fcn.0049e635
add esp, 0xc
cmp byte [ebp + 0x513c], 0
je 0x45a604
lea eax, [ebp + 0x5540]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x45a5b6
mov edx, dword [0x4b3ac8]
mov dword [eax], edx
mov esi, dword [0x4b3acc]
mov dword [eax + 4], esi
mov di, word [0x4b3ad0]
mov word [eax + 8], di
mov bl, byte [0x4b3ad2]
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 0x45a5f0
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 0x45a633
mov ax, word [0x4b3ac4]
mov word [ebp + 0x5540], ax
mov cl, byte [0x4b3ac6]
mov byte [ebp + 0x5542], cl
mov word [ebp + 0x5640], ax
mov byte [ebp + 0x5642], cl
push 0x559
call fcn.0045be10
mov edx, eax
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x45a640
sub eax, edx
lea edi, [ebp + 0x5540]
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x45a650
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 0x45a671
sub eax, edx
mov ecx, dword [ebp - 0x40]
push ecx
push 0x4b2918
lea edx, [ebp + eax + 0x5640]
push edx
call fcn.0049e635
add esp, 0xc
mov al, 0x20
cmp byte [ebp + 0x5540], al
jne 0x45a6ac
cmp byte [ebp + 0x5541], al
jne 0x45a6ac
mov byte [ebp + 0x5540], 0x23
cmp byte [ebp + 0x5640], al
jne 0x45a6c3
cmp byte [ebp + 0x5641], al
jne 0x45a6c3
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.004a1cc1
add esp, 0x10
cmp byte [ebp + 0x512e], 0
je 0x45a716
push str.__b_
mov eax, dword [ebp - 0x14]
push eax
call fcn.004a1cc1
add esp, 8
cmp byte [ebp + 0x512e], 0
je 0x45a716
push str.__pre__r_n__body__r_n__html__r_n
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.004a1cc1
add esp, 8
cmp byte [ebp + 0x512d], 0
je 0x45a78e
mov esi, dword [ebp - 0x14]
push esi
call fcn.004a1c65
push esi
call fcn.004a7657
push eax
call fcn.004ace91
add esp, 0xc
mov esi, eax
cmp esi, 0xffffffff
je 0x45a78e
mov byte [ebp - 4], 6
lea edx, [esi + 1]
push edx
lea ecx, [ebp + 0x5774]
call fcn.004015e0
mov byte [ebp - 4], 7
push 0
push 0
mov edi, dword [ebp - 0x14]
push edi
call fcn.004a0425
push edi
push esi
push 1
mov edi, dword [ebp + 0x5774]
push edi
call fcn.004a0179
add esp, 0x1c
mov byte [edi + esi], 0
push edi
call fcn.00445250
mov byte [ebp - 4], 6
lea ecx, [ebp + 0x5774]
call fcn.0042add0
mov dword [ebp - 4], 2
mov eax, dword [ebp - 0x14]
push eax
call fcn.0049fba6
add esp, 4
cmp byte [ebp + 0x4d2c], 0
je 0x45a7d5
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 0x45a7d5
lea eax, [ebp + 0x4d2c]
push eax
mov ecx, 0x4c93ac
call fcn.004286d0
cmp byte [ebp + 0x512c], 0
je 0x45a7f5
push 0
lea ecx, [ebp + 0x5140]
push ecx
call fcn.00496470
cmp byte [ebp + 0x512c], 0
jne 0x45a801
lea edx, [ebp + 0x5140]
push edx
call fcn.00445890
cmp dword [0x4dbca4], 0
jne 0x45a82c
cmp byte [ebp + 0x4d2c], 0
je 0x45a82c
push 0
lea eax, [ebp + 0x4d2c]
push eax
call fcn.0044daf0
push eax
mov ecx, 0x4dff38
call fcn.004413b0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x258]
call fcn.00401920
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14c]
call fcn.00401920
cmp byte [ebp - 0x15], 0
je 0x45a860
mov ecx, dword [0x4db884]
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.0049e626
add ebp, 0x57a8
mov esp, ebp
pop ebp
ret