Function at 0x464b36
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x628
mov eax, dword [0x634274]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 0xc]
lea eax, [ebp - 0x61c]
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, 0x208
mov dword [ebp - 0x628], esi
push edi
push 0
push eax
mov dword [ebp - 0x620], ebx
call fcn.00486960
push edi
lea eax, [ebp - 0x414]
push 0
push eax
call fcn.00486960
lea eax, [ebp - 0x61c]
push esi
push eax
call fcn.0049897c
lea eax, [ebp - 0x414]
push ebx
push eax
call fcn.0049897c
add esp, 0x28
call fcn.0046075c
test al, al
je 0x464bc1
loop 0x464b53
adc edi, dword [edx]
outsd dx, dword [esi]
cmp esi, esp
jae 0x464bf2
or bh, byte [eax - 0x50cdd1d0]
push 0xffffffffffffff82
add dl, byte [esi]
wait
adc bh, 0x90
and edx, eax
push ebp
call fcn.00460129
test al, al
je 0x464bdb
imul ebp, esi, 0x82112919
int1
inc eax
mov esp, 0xb9fd512
mov byte [0xe8f97f6b], al
mov edi, 0x84ffffb4
sal byte [edx + edx - 0xb], 0xdd
out dx, eax
call fcn.0046009f
test al, al
je 0x464bf6
cmc
fucomp st(7)
call 0x69117272
mov dh, 0x21
xchg ebp, eax
mov ah, byte [esi - 0x2c34c966]
lcall 0xe485, 0x8dd3cb36
stc
invalid
lea eax, [ebp - 0x61c]
push eax
call fcn.00494cf8
lea eax, [ebp - 0x414]
push eax
call fcn.00494cf8
lea eax, [ebp - 0x414]
push eax
lea eax, [ebp - 0x61c]
push eax
call fcn.0049893c
add esp, 0x10
test eax, eax
je 0x464f1d
push dword [ebp - 0x628]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
or byte [esp + ebx*2], dl
test eax, eax
je 0x464f1d
call fcn.004607e6
test al, al
je 0x464c59
pop esp
cmp byte [esi - 0x2ed84a3f], ah
mov byte [0x4ed9bb00], al
wait
xchg ecx, eax
and dword [ebp - 0x624], 0
call fcn.00460420
test al, al
je 0x464c7f
pop ebx
mov edx, 0x6c12d1cd
and al, al
push edx
xchg ebx, eax
and ecx, dword [ebp - 0x51ee4b1c]
cmp dword [esi - 0x7bbe28d9], esp
call fcn.0046023d
test al, al
je 0x464c9e
xchg esp, eax
xor al, 0x14
mov ah, 0x4a
add eax, 0xb6c9d49f
and byte [esi + 0x7a], dl
jno 0x464c34
test eax, 0x763759ef
ret 0x91e8
call fcn.00460534
test al, al
je 0x464cbc
jo 0x464ce2
movsd dword es:[edi], dword [esi]
mov dl, byte [ebp + 0x67]
cmp al, cl
add bl, byte [ecx]
mov ebp, fs
xchg ebx, eax
jl 0x464d21
imul ecx, dword [esi], 0xffffffa4
fnstcw word [esi]
call fcn.004604aa
test al, al
je 0x464ce5
pop ecx
imul edx, dword [edx + 0x67c52bcd], 0x9ac4608c
nop
salc
pop esi
inc eax
test al, 0x1b
adc eax, 0xcbacd77a
mov esp, 0x7d7555b9
xor cl, byte [ebp + 0x5e82d9e]
mov eax, 0xc084ffff
lea ebx, [esi - 0x47fa17d3]
invalid
call fcn.004604ef
test al, al
je 0x464d04
jnp 0x464cff
aad 5
sbb byte [eax + 0x63], bl
test dword [esi + 0x33649eef], edi
out dx, al
push eax
jle 0x464c88
pop ss
lcall 0xb8b5, 0xe867df6b
invalid
call fcn.004605be
test al, al
je 0x464d2a
or dword [0xcea6c8f1], ebp
movsd dword es:[edi], dword [esi]
lcall 0x23f1, 0x3e28a9a1
dec eax
invalid
int1
loop 0x464d2d
rcl ebp, cl
and esp, dword [edi + 0x42]
in al, dx
push 0x208
add byte [eax], al
lea eax, [ebp - 0x20c]
push 0
push eax
call fcn.00486960
mov eax, dword [ebp - 0x624]
add esp, 0xc
test eax, eax
jne 0x464d66
push dword [ebp - 0x620]
lea eax, [ebp - 0x20c]
push str._s.bak
push eax
call fcn.0040ad20
add esp, 0xc
jmp 0x464d81
push eax
push dword [ebp - 0x620]
lea eax, [ebp - 0x20c]
push str._s.bak_d
push eax
call fcn.0040ad20
add esp, 0x10
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x464d9f
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
call fcn.00460648
test al, al
je 0x464dba
aaa
jp 0x464e24
pop esi
mov dword [ebx + 0x758a98e6], esi
mov dword [0xa07b9b37], eax
jns 0x464df5
jmp 0xfffe08a6
call fcn.00460579
test al, al
je 0x464dd9
inc ecx
mov ebx, 0xb8b06b83
mov dh, bh
or byte [ebx + 0x30b9746a], al
and dh, byte [eax + 0x39bcb25e]
lcall 0xffff, 0xb8afe8d9
call fcn.0046068d
test al, al
je 0x464df5
aam 0xfc
sbb esi, dword [edx]
in al, 0x8d
sbb eax, 0x6bf1f349
jecxz 0x464ded
invalid
lea eax, [ebp - 0x20c]
push eax
push dword [ebp - 0x620]
call fcn.00494b22
pop ecx
pop ecx
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
call fcn.0046075c
test al, al
je 0x464e39
inc ebp
aam 0x45
leave
outsb dx, byte [esi]
lodsd eax, dword ss:[esi]
dec ebp
test byte [ecx - 0x5c], ah
salc
pop cx
jb 0x464eaa
shr dword [ecx - 0xe], cl
push esi
push ss
dec edx
daa
fst st(5)
call fcn.00460129
test al, al
je 0x464e53
in eax, dx
pop eax
fistp qword [esi + 0x22]
popfd
fdivr dword [esi + 0x62]
rcl dword [edi]
invalid
call fcn.0046009f
test al, al
je 0x464e6e
invalid
push 0
push dword [ebp - 0x620]
push dword [ebp - 0x628]
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
jne 0x464ec7
call fcn.004607e6
test al, al
je 0x464e9f
and dword [ebx], ebx
or edi, dword [esi]
mov cl, 0xe0
sbb dword [edi], ebx
pop ds
aam 0x7b
and ebx, edx
inc edx
push 5
push 0
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
mov eax, dword [ebp - 0x624]
cmp eax, 0xa
jge 0x464f1d
inc eax
mov dword [ebp - 0x624], eax
jmp 0x464ce5
call fcn.004604ef
test al, al
je 0x464ee6
and edx, dword [edx + 0x69]
mov byte [ecx + 0x6b], dh
insd dword es:[edi], dx
fiadd dword [ebp - 0x13]
mov ecx, 0x1fa69b9c
stc
clc
and esp, dword [ecx + esi - 0x2c17c6e3]
mov dh, 0xff
inc dword [eax + eax*8 - 0x6bbae28c]
call fcn.004605be
test al, al
je 0x464f0c
inc ebp
xchg esp, eax
js 0x464f4d
or esi, eax
push edi
adc byte [eax], ah
scasd eax, dword es:[edi]
ljmp 0x25ec
push 5
push 0
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00455afe
mov esp, ebp
pop ebp
ret
fcom qword [ecx + 0x5c]
add byte [ebx - 0x7827608], cl