Function at 0x453e5e
Capabilities:
Check if file exists

Disassembly:
push 0xb8
mov eax, 0x5e1e85
call fcn.0046dcba
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0xc0], eax
and dword [ebp - 4], 0
call fcn.00452620
test al, al
je 0x453e96
dec ecx
mov esi, 0xec177544
invalid
call fcn.00452596
test al, al
je 0x453eba
sal byte [esi + 9], 0xdb
in al, dx
jo 0x453eca
invalid
call fcn.00452551
test al, al
je 0x453edc
pushal
push edx
adc esp, dword [edx - 7]
add edx, dword [eax + 0x5b386ba0]
add eax, dword [ebx + 0x1d]
sub ch, byte [ebx - 0x14]
adc ch, byte [ebx + 0x570dee59]
dec ebp
mov al, byte [0x35b386b]
inc ebx
sbb eax, 0x12ec6b2a
stosd dword es:[edi], eax
pop ecx
out dx, al
or eax, 0x834d3e57
call 0xd892cbe3
and dword [ebp - 0x18], 0
lea ecx, [ebp - 0x28]
xor eax, eax
mov dword [ebp - 0x14], 7
push eax
push 0x5e6948
mov word [ebp - 0x28], ax
call fcn.00402ac0
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 1
call fcn.0047c2b0
and dword [ebp - 0xb8], 0
call fcn.0045243d
test al, al
je 0x453f37
pop esi
add byte [esi - 0x77], ah
inc ebp
fsubr st(0)
invalid
cmp byte [eax - 0xb], al
add dh, byte [esi + edx*2]
invalid
call fcn.00452215
test al, al
je 0x453f60
lodsd eax, dword [esi]
add byte [esi - 0x77], bh
push 0x76834b4b
jnp 0x453ef0
xchg ebp, eax
test al, 0x99
xor esp, edx
adc ebx, esp
enter 0x7e48, 0xffffffffffffffb4
mov cl, 0x41
sub edx, dword [eax - 0x1a]
mov ebp, 0x80c96487
cmp dword [ebp + 0x1c], 8
lea eax, [ebp + 8]
cmovae eax, dword [ebp + 8]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x454049
cmp dword [ebp + 0x1c], 8
lea eax, [ebp + 8]
push 0
cmovae eax, dword [ebp + 8]
push 0x80
push 4
push 0
push 1
push SysReAllocString
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0xbc], eax
cmp eax, 0xffffffff
je 0x454042
call fcn.00452596
test al, al
je 0x453fcc
dec esp
pop ebx
mov ebp, 0x8ab08fda
and eax, 0x2ee2a515
mov edx, 0xe3b513c6
inc esp
or ecx, dword [ecx - 0xff9534]
mov ch, 0x44
push 0
push dword [ebp - 0xbc]
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov ebx, dword [ebp - 0xc0]
push eax
mov dword [ebx], eax
call fcn.0046d813
mov dword [ebp - 0xb8], eax
pop ecx
test eax, eax
jne 0x45406d
call fcn.0045243d
test al, al
je 0x454019
fist word [ebx]
ret 0xfd6
mov cl, 0xf1
invalid
call fcn.00452215
test al, al
je 0x454042
adc al, dl
aaa
mov edi, 0xac0ffe10
mov dh, 0x90
jmp 0x453fe1
and dword [ebp - 0xb8], 0
push 0
push 1
lea ecx, [ebp - 0x28]
call fcn.0041ece0
push 0
push 1
lea ecx, [ebp + 8]
call fcn.0041ece0
mov eax, dword [ebp - 0xb8]
call fcn.0046dc64
ret
push dword [ebx]
push 0
push eax
call fcn.00480620
add esp, 0xc
call fcn.00452596
test al, al
je 0x45409f
jno 0x454011
jl 0x45409c
aad 6
push ebp
lahf
and eax, 0xb4e2dde0
xchg ebp, eax
jle 0x45410f
add ebp, dword [edx - 0x627456cf]
inc eax
invalid
push 0
lea eax, [ebp - 0xc4]
push eax
push dword [ebx]
push dword [ebp - 0xb8]
push dword [ebp - 0xbc]
call dword [sym.imp.KERNEL32.dll_ReadFile]
call fcn.0045250c
test al, al
je 0x4540e4
mov esi, 0x4e35542f
sbb esp, dword [edi - 0x10a793a9]
inc esi
mov byte [0x47ace353], al
push 0xffffffffffffffe6
sub ax, cx
mov ebp, 0xfdee2bc4
les ebp, [ebx]
out dx, al
std
xchg edi, eax
jbe 0x4540dc
add ebp, eax
mov edi, 0x84ffffde
sal byte [ecx + ebx - 0x44], 0xdb
sub al, 0xe5
movsb byte es:[edi], byte [esi]
call fcn.00451fa8
test al, al
je 0x454106
mov esp, 0xa4e52cdb
test al, 0x17
invalid
call fcn.0045225a
test al, al
je 0x45412b
sub ebp, dword [eax + ebp*8]
push 8
adc al, byte [ebx + 0x1e]
push edi
salc
imul eax, dword [ecx - 0x4fa2e490], 0x55
jb 0xeb6cbb79
inc ebx
sbb esi, dword [ebx + 0x52]
and edi, edi
mov ch, 0x44
push dword [ebp - 0xbc]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x454049