Function at 0x454e16
Capabilities:
Check if file exists

Disassembly:
add byte [ebx + 0x68c35de5], cl
movsb byte es:[edi], byte [esi]
add al, byte [eax]
add byte [eax + 0x5e4fe3], bh
push 0x2a4
mov eax, 0x5e4fe3
call fcn.00470bca
mov eax, dword [ebp + 8]
push eax
mov dword [ebp - 0x2ac], eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4554ed
call fcn.00453cc9
test al, al
je 0x454e61
add esi, dword ds:[edi]
movsd dword es:[edi], dword [esi]
ror byte [edi], cl
xor dword [eax + 0x29263443], eax
cmp byte [edi - 0x6abb4e6d], cl
loopne 0x454e11
push esp
mov byte [edx], bh
xor al, 0x4d
adc al, 0xff
mov ch, 0x54
std
invalid
push dword [ebp - 0x2ac]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
je 0x454ea2
call fcn.004538be
test al, al
je 0x4554ed
mov edi, 0x72eb7bec
jmp 0x454e85
pop eax
mov dword [0x2d1e3490], eax
dec eax
sbb byte [edx], dl
mov eax, 0x64ad88db
in eax, dx
sar byte [eax + 0x4df5b10b], cl
mov esp, 0x4be98174
push es
add byte [eax], al
push 0x208
xor ebx, ebx
lea eax, [ebp - 0x218]
push ebx
push eax
call fcn.00483520
add esp, 0xc
mov dword [ebp - 0x234], 7
xor eax, eax
mov dword [ebp - 0x238], ebx
lea ecx, [ebp - 0x248]
mov word [ebp - 0x248], ax
push ebx
push 0x5e9978
call fcn.00402b90
mov dword [ebp - 4], ebx
call fcn.00453bb5
test al, al
je 0x454f00
movsd dword es:[edi], dword [esi]
stosb byte es:[edi], al
iretd
call fcn.004538be
test al, al
je 0x454f28
sbb dh, dl
adc ch, byte [edi + eax*2 + 0x5487970c]
cmovno ebp, dword [edi + 0x4b2459d0]
xchg dword [esi + esi*2 + 0x13], ecx
sbb dword [edi], esi
cmp dword [eax], ecx
out dx, eax
add eax, 0x1c3e4c2e
sub eax, ebp
scasb al, byte es:[edi]
out 0xff, eax
inc dword [eax + eax*8 - 0x327de98c]
dec edi
call fcn.004536db
test al, al
je 0x454f47
or ch, 0x4f
insd dword es:[edi], dx
push eax
xchg byte [edi - 0xf], ah
push ecx
add al, 0x3d
mov bh, 0xcf
cdq
lodsb al, byte [esi]
cmp byte [0x4c45e87f], al
lea eax, [ebp - 0x218]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
push dword [ebp - 0x2ac]
lea eax, [ebp - 0x2a8]
push eax
call fcn.00456da8
pop ecx
pop ecx
mov byte [ebp - 4], 1
call fcn.00453cc9
test al, al
je 0x454f8d
adc dword [esp + edi + 0x56a4cf87], ebp
sub dword [esi - 0x38318902], esi
push ebx
sar byte [ebp - 0x5217254d], cl
in al, dx
invalid
call fcn.00453c3f
test al, al
je 0x454fb1
and byte [ebx], 0x18
push ebx
pop ecx
lcall 0x23a, 0x4d256bea
fiadd word [ebp + ebp - 0xd]
jle 0x454f66
pop esi
mov dword [0xbdb0dedd], eax
jo 0x454fe5
pushfd
call fcn.00453bfa
test al, al
je 0x454fd3
mov al, byte [0x2e55ce60]
adc eax, 0xa4c257a6
push 0x29
xchg edx, eax
mov byte [esi - 0x5ee15a82], al
push ecx
sub byte [edx], 5
sub al, 1
push dword [ebp - 0x2ac]
lea eax, [ebp - 0x278]
push eax
call fcn.0045717b
pop ecx
pop ecx
mov byte [ebp - 4], 2
call fcn.00453696
test al, al
je 0x455008
sal byte [esp + edx - 0xe], 0xc5
mov bh, 0x88
test al, 0xd9
sbb byte [esi + 0x2b924fe9], dh
out 0x9a, al
pushfd
int 0x28
test al, 0x15
add byte [ebp - 0x2177b], cl
call dword [eax - 0x73]
test dword [eax + 0x50fffffd], esp
lds esi, [edi + 0x18d9a888]
mov dh, 0xe9
dec edi
xchg edx, eax
sub esp, esi
lcall 0x15, 0xa828cd9c
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x260]
push eax
call fcn.0045717b
lea eax, [ebp - 0x278]
mov byte [ebp - 4], 3
push eax
call fcn.0045dec0
add esp, 0xc
call fcn.00453903
test al, al
je 0x455047
jge 0x454fbf
add al, 0xcb
pop ss
sbb dword [ebx - 0x70], esp
das
aas
jg 0x454fce
push es
out dx, eax
dec eax
call fcn.00453c84
test al, al
je 0x455070
sti
js 0x454ff1
sub al, 0xf
sbb al, 0xc
cmpsb byte [esi], byte es:[edi]
insd dword es:[edi], dx
mov word [edx - 0x51a10d28], gs
and byte [edi + 0x36], bl
stosd dword es:[edi], eax
loopne 0x455084
test dword [ecx], edx
push ebp
xor eax, 0x9fb091c
lodsd eax, dword [esi]
invalid
call fcn.00453696
test al, al
je 0x455097
dec ebp
dec esi
cmpsb byte [esi], byte es:[edi]
in eax, 0x20
shl dword [edx - 0x71863652], cl
adc dl, byte [edi + 0x29]
or dword [edi - 0x50], edi
push eax
rcr dword [ecx + 0x90f9d87], 0x7b
and dword [edi - 0x72c0fbdd], eax
test dword [eax + 0x50fffffd], esp
and eax, dword [edi + edi]
lea eax, [ebp - 0x260]
push eax
call fcn.0045dec0
pop ecx
lea eax, [ebp - 0x278]
push eax
lea ecx, [ebp - 0x260]
call fcn.004562f1
test eax, eax
jne 0x455104
call fcn.00453b70
test al, al
je 0x4550d4
aam 0xd
mov bh, 0xea
jmp 0x455094
cmp word [ebp - 0x218], 0
jne 0x4550e2
xor eax, eax
jmp 0x4550ef
lea eax, [ebp - 0x218]
push eax
call fcn.00491bc7
pop ecx
push eax
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x248]
call fcn.00402b90
jmp 0x455182
call fcn.00453ae6
test al, al
je 0x45512a
pop ss
div ebx
mov ecx, 0x8afc8647
lodsb al, byte [esi]
imul ebp, dword [eax + 0x61021568], 0xd0bff7ba
cdq
mov edi, 0xaa7bc6e6
popfd
inc edi
popfd
mov eax, ebp
invalid
call fcn.004538be
test al, al
je 0x455153
fimul dword [ecx]
push esi
dec edx
enter 0xffffffffffff95fb, 0xa
test byte [ebp + 0x18fb22d5], 0x9c
inc esi
sub al, 0x27
jno 0x4551ae
add bh, bl
in al, 0x6c
insb byte es:[edi], dx
out 0x31, eax
jo 0x4551cf
jle 0x4550e8
push dword fs:[ebp - 0x2ac]
push dword [ebp - 0x2ac]
lea eax, [ebp - 0x290]
push eax
call fcn.00457043
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x248]
call fcn.00404380
push 0
push 1
lea ecx, [ebp - 0x290]
call fcn.0041ed70
and dword [ebp - 0x2b0], 0
call fcn.00453c3f
test al, al
je 0x4551a8
xchg ecx, eax
dec edx
jmp 0x45514b
and dword [ebp - 0x220], 0
lea ecx, [ebp - 0x230]
xor eax, eax
mov dword [ebp - 0x21c], 7
push eax
push 0x5e9978
mov word [ebp - 0x230], ax
call fcn.00402b90
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x248]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x230]
call fcn.00402a70
call fcn.00453bb5
test al, al
je 0x455215
add byte [ebp - 0x22f73], cl
push dword [ebx]
rol bh, 0x85
in al, 0xfd
invalid
mov ebp, 0x6afffad9
jmp [edx]
sbb al, 0xb5
scasb al, byte es:[edi]
mov dh, 0xc6
xchg byte [edi - 3], bl
aaa
vmread ebx, esi
mov eax, 0x1be4fd01
jle 0x45518e
and dh, byte ds:[0xebc7ef11]
das
scasb al, byte es:[edi]
test eax, ebp
aaa
in al, 0xff
inc dword [eax + eax*8 - 0x3178e68c]
call fcn.00453651
test al, al
je 0x455237
xchg esi, ecx
mov edi, 0x82a5abb5
pushfd
invalid
call fcn.00453903
test al, al
je 0x45525c
jmp 0xe30c40d6
push 0xffffffffffffffff
xor ebx, ebx
lea eax, [ebp - 0x2a8]
push ebx
push eax
lea ecx, [ebp - 0x230]
call fcn.00405c20
mov esi, str..fcb
push esi
call fcn.00491bc7
pop ecx
push eax
push esi
lea ecx, [ebp - 0x230]
call fcn.00405d30
mov eax, dword [ebp - 0x2b0]
test eax, eax
jle 0x4552cd
cdq
push edx
push eax
lea eax, [ebp - 0x290]
push eax
call fcn.004568c6
add esp, 0xc
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 5
call fcn.00405c20
push ebx
push 1
lea ecx, [ebp - 0x290]
mov byte [ebp - 4], 4
call fcn.0041ed70
cmp dword [ebp - 0x21c], 8
lea eax, [ebp - 0x230]
cmovae eax, dword [ebp - 0x230]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4553b0
test al, al
add byte [eax], al
add al, ch
leave
in eax, 0xff
inc dword [eax + eax*8 + 0x65101b74]
and esi, dword [bx + si - 0x34c3]
int3
call fcn.004538be
test al, al
je 0x455314
adc byte [ebp + 0x67], ah
and esi, dword [eax - 0x2a3334c3]
enter 0xffffffffffffa11f, 0xffffffffffffffa4
cmp dh, dh
lcall 0xa517, 0x6bd7547d
lds esi, [edi - 0x17585e8b]
dec esp
in al, 0xff
inc dword [eax + eax*8 - 0x35cde18c]
mov bh, 0x75
mov eax, dword [0xe44ce8a7]
invalid
call fcn.00453765
test al, al
je 0x45533b
xor cl, dl
or al, byte [esi - 0x68]
out dx, al
cmpsd dword [esi], dword es:[edi]
xchg byte [ecx], ah
loope 0x455310
cmp eax, 0x84fd18b2
movsb byte es:[edi], byte [esi]
sbb al, 0x33
jbe 0x4552eb
fidiv word [edi - 0x454d39cc]
popfd
inc ebx
dec esp
cmp dword [ebp - 0x21c], 8
lea eax, [ebp - 0x230]
cmovae eax, dword [ebp - 0x230]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x4553b0
call fcn.00453765
test al, al
je 0x455382
dec esi
cmp dword [ebx], ebx
adc ebx, dword [edx]
jmp 0x25718dc7
mov ebx, dword [ebp - 0x2b0]
cmp ebx, 0xa
jge 0x4554a7
inc dword [ebx - 0x72f0f505]
push ss
add dword [eax], eax
add byte [edx], ch
push 0
inc ebx
mov byte [ebp - 4], 3
push 1
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x2b0], ebx
call fcn.0041ed70
jmp 0x4551a8
cmp dword [ebp - 0x21c], 8
lea eax, [ebp - 0x230]
cmovae eax, dword [ebp - 0x230]
push eax
push dword [ebp - 0x2ac]
call fcn.0048fea6
pop ecx
pop ecx
call fcn.00453a17
test al, al
je 0x4553f2
inc ebp
invalid
call fcn.004537aa
test al, al
je 0x455413
jo 0x455472
sar dword [esi + 0x3e], 0xaa
add bl, byte [edx]
jle 0x455387
adc dword [edx], esp
lea eax, [ecx - 0x3fff09b3]
clc
and dword [ecx + 0x1ce8f22b], esp
in al, 0xff
inc dword [eax + eax*8 - 0x7b7ae78c]
inc edx
mov esi, dword [eax]
push edi
sal ecx, 1
call fcn.00453834
test al, al
je 0x455434
test dword [edx + eax*2 - 0x2ea8cf75], eax
int1
pop ebx
adc eax, 0x12a1f876
push cs
sar cl, 1
clc
add byte [esi - 0x5d8fb250], dh
cmp dword [ebp - 0x21c], 8
lea eax, [ebp - 0x230]
mov esi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
cmovae eax, dword [ebp - 0x230]
push eax
call esi
test eax, eax
je 0x455474
cmp dword [ebp - 0x21c], 8
lea eax, [ebp - 0x230]
push 5
cmovae eax, dword [ebp - 0x230]
push 0
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
pop esi
add byte [ebx - 0x2ab63], cl
call dword [ebx - 1]
salc
mov ebx, dword [ebp - 0x2ac]
push ebx
call esi
test eax, eax
je 0x4554a7
call fcn.004539d2
test al, al
je 0x45549c
mov cl, 0x9b
imul esi, dword [ebx + 0x4aec3c4a], 0x41
xchg ebx, eax
mov ebx, 0x85dcbac7
xchg ebp, eax
sub dword [edx + 5], 0xff53006a
adc eax, sym.imp.KERNEL32.dll_MoveFileExW
push 5
push 0
push ebx
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
xor ebx, ebx
lea ecx, [ebp - 0x230]
xor esi, esi
push ebx
inc esi
push esi
call fcn.0041ed70
push ebx
push esi
lea ecx, [ebp - 0x260]
call fcn.0041ed70
push ebx
push esi
lea ecx, [ebp - 0x278]
call fcn.0041ed70
push ebx
push esi
lea ecx, [ebp - 0x2a8]
call fcn.0041ed70
push ebx
push esi
lea ecx, [ebp - 0x248]
call fcn.0041ed70
call fcn.00470b74
ret