Function at 0x464793
Capabilities:
Check if file exists

Disassembly:
push 0xd4
mov eax, 0x5c1aaa
call fcn.004aa3a5
mov ebx, dword [ebp + 8]
xor edi, edi
mov dword [ebp - 0xcc], ebx
mov dword [ebp - 0xdc], edi
push edi
xor eax, eax
mov dword [ebp - 4], edi
push 0x625f30
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x14], 7
mov dword [ebp - 0x18], edi
mov word [ebp - 0x28], ax
call fcn.00402510
lea ecx, [ebp - 0xc4]
mov byte [ebp - 4], 1
call fcn.00480b96
call fcn.004601b3
test al, al
je 0x464806
and ebx, dword [eax + ebp*8 - 9]
mov edi, 0x62b4d7b9
jmp 0x46486b
cmp dword [ebp + 0x20], 8
lea eax, [ebp + 0xc]
cmovae eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x464b05
cmp dword [ebp + 0x20], 8
lea eax, [ebp + 0xc]
push edi
cmovae eax, dword [ebp + 0xc]
push 0x80
push 4
push edi
push 1
push SysReAllocString
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0xc8], eax
invalid
cmp eax, 0xffffffff
jne 0x464876
push 0x625f30
mov ecx, ebx
call fcn.004023b0
push edi
push 1
lea ecx, [ebp - 0x28]
call fcn.00402450
push edi
push 1
lea ecx, [ebp + 0xc]
call fcn.00402450
mov eax, ebx
jmp 0x464b30
loope 0x464848
stc
dec dword [ebx + 0x2bae9c3]
add byte [eax], al
call fcn.004606d2
test al, al
je 0x46489a
jnp 0x464845
xor byte [ecx + 0xd], cl
push ds
std
invalid
call fcn.004604aa
test al, al
je 0x4648b4
out dx, eax
mov edi, ebp
shl eax, 1
retf 0x3abf
call fcn.004607a1
test al, al
je 0x4648cf
pop ecx
jne 0x4648d3
push eax
xchg dword [0x5129a520], ebx
mov ecx, 0xea27a005
add al, 0x33
call dword [edi - 1]
mov ch, 0x38
push edi
push dword [ebp - 0xc8]
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [ebp - 0xd4], eax
inc eax
push eax
mov dword [ebp - 0xd8], eax
call fcn.0045566c
mov dword [ebp - 0xd0], eax
pop ecx
test eax, eax
jne 0x46490f
mov ecx, dword [ebp - 0xcc]
push 0x625f30
call fcn.004023b0
jmp 0x464b14
call fcn.004604ef
test al, al
je 0x46492d
stosd dword es:[edi], eax
add bl, byte [edi + 0x554c0bc7]
invalid
call fcn.00460465
test al, al
je 0x464954
cli
sub al, byte [ecx - 0x25d6cd67]
retf 0xde64
call fcn.00460717
test al, al
je 0x46497d
adc dword [edi], esp
test byte [esi], al
outsd dx, dword [esi]
mov byte [esi], 0x15
adc eax, 0x6b9cf1c1
stc
retf 0x1bea
sal ecx, 0x9c
imul edi, ecx, 0xffffffca
ljmp 0x5885
push dword [ebp - 0xd8]
mov edi, dword [ebp - 0xd0]
push 0
push edi
call fcn.00486960
add esp, 0xc
lea eax, [ebp - 0xe0]
push 0
push eax
push dword [ebp - 0xd4]
push edi
push dword [ebp - 0xc8]
call dword [sym.imp.KERNEL32.dll_ReadFile]
call fcn.00460351
test al, al
je 0x4649cc
fistp qword [ebx + edi - 0x2d]
scasb al, byte es:[edi]
leave
invalid
call fcn.004602c7
test al, al
je 0x4649f2
ja 0x464966
inc ebp
iretd
push dword [ebp - 0xc8]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push dword [ebp - 0xd4]
lea ecx, [ebp - 0xc4]
push edi
call fcn.004815e3
push edi
call fcn.00455675
pop ecx
call fcn.004600e4
test al, al
je 0x464a30
int1
mov dword [0xd74d50c9], eax
les edi, [edi + 0x2c]
test eax, 0xa0fde100
clc
cli
call fcn.004601b3
test al, al
je 0x464a4d
ror dword [edi - 0xa], cl
loopne 0x464a6a
jb 0x464a7e
cmp dword [esi + 0x55e5e1f], esi
sub al, 0x23
mov bh, dl
or dword [esi + ecx*4], ecx
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0xc4]
call fcn.00480e31
push eax
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 2
push eax
call fcn.0046e47d
lcall 0xff33, 0x59590000
pop ecx
pop ecx
xor edi, edi
mov byte [ebp - 4], 4
push edi
push 1
lea ecx, [ebp - 0x58]
call fcn.00460925
call fcn.00460648
test al, al
je 0x464aa6
invalid
inc dword [eax + eax*8 - 0xd74df8c]
mov esi, edx
lea esp, [ebx + 0x33]
aam 0xe7
mov gs, word [ebx]
int 0x70
retf 0x7581
call fcn.00460603
test al, al
je 0x464abf
cmc
jnp 0x464a81
sbb dword [eax], edx
test byte [edx + 0x2cedaaf7], bl
hlt
call fcn.004606d2
test al, al
je 0x464ae5
and eax, 0x14af3110
xor al, byte [edx - 0x23c5da80]
mov byte [ebp + 0x78], cl
mov ecx, 0x3ea45491
js 0x464af1
jns 0x464a67
sub esi, dword [ebx + 0x33]
xchg ebx, eax
enter 0xffffffffffff835c, 0x7d
rol byte [eax], 1
cmp dword [ebp - 0x30], 0
jbe 0x464afa
push 0xffffffffffffffff
push edi
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x28]
call fcn.00402760
push edi
push 1
lea ecx, [ebp - 0x40]
call fcn.00402450
mov ecx, dword [ebp - 0xcc]
lea eax, [ebp - 0x28]
push eax
call fcn.004045e0
push edi
push 1
lea ecx, [ebp - 0x28]
call fcn.00402450
push edi
push 1
lea ecx, [ebp + 0xc]
call fcn.00402450
mov eax, dword [ebp - 0xcc]
call fcn.004aa360
ret