Function at 0x4644a1
Capabilities:
Check if file exists

Disassembly:
push 0x98
mov eax, 0x5c1a62
call fcn.004aa3a5
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0xa0], eax
and dword [ebp - 4], 0
call fcn.00460420
test al, al
je 0x4644dc
aam 2
xchg esi, eax
ljmp 0x7035
call fcn.0046023d
test al, al
je 0x4644fb
ret 0xa2d5
call fcn.00460534
test al, al
je 0x464519
pop edx
push ebx
mov edi, gs
fiadd dword [edi]
movsb byte es:[edi], byte [esi]
inc esp
ret
call fcn.004604aa
test al, al
je 0x464542
fild dword [edi + 0xfc5d49e]
sbb byte [ebp + 0x12], 0x27
push ds
adc ch, byte [edi + 0x1f55d0d2]
xchg esp, esp
cwde
add edx, edi
retf
and dword [ebp - 0x18], 0
lea ecx, [ebp - 0x28]
xor eax, eax
mov dword [ebp - 0x14], 7
push eax
push 0x625f30
mov word [ebp - 0x28], ax
call fcn.00402510
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 1
call fcn.00480b96
and dword [ebp - 0x98], 0
call fcn.004607e6
test al, al
je 0x464592
movsb byte es:[edi], byte [esi]
xor eax, 0x75898783
mov dh, bl
ja 0x464561
invalid
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 0x46467e
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 edi, eax
mov dword [ebp - 0x9c], edi
cmp edi, 0xffffffff
je 0x464677
call fcn.004607e6
test al, al
je 0x464600
aas
pop ebx
sub ah, byte [ebx - 0x7aff4e3f]
idiv bl
dec edi
nop
lcall 0x64bd, 0x8b4910d1
invalid
call fcn.004600e4
test al, al
je 0x46461a
lodsb al, byte [esi]
lahf
sbb eax, 0xe6c72d0b
mov ah, 0x5a
mov bh, 0xd5
loope 0x4645ea
leave
in al, dx
cmp eax, 0xbb0ae883
invalid
call fcn.00460129
test al, al
je 0x464638
or al, 0xe9
mov cl, 0x13
push cs
cmc
enter 0x4331, 0x64
cld
daa
pop ecx
jno 0x464664
push esp
int 0x42
call 0x5746b056
push 0
push edi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov esi, dword [ebp - 0xa0]
push eax
mov dword [esi], eax
call fcn.0045566c
mov ebx, eax
mov dword [ebp - 0x98], ebx
pop ecx
test ebx, ebx
jne 0x4646a2
call fcn.004607e6
test al, al
je 0x464677
adc cl, byte [esp + edx*4 - 0xad4e979]
mov bl, 3
xlatb
mov word [edi + eax*4 - 0x4c0ad4ea], ss
add edx, edi
and edx, dword [esi + 0x24]
stc
mov dword [0x46231f4b], eax
and dword [ebp - 0x98], 0
push 0
push 1
lea ecx, [ebp - 0x28]
call fcn.00402450
push 0
push 1
lea ecx, [ebp + 8]
call fcn.00402450
mov eax, dword [ebp - 0x98]
call fcn.004aa360
ret
push dword [esi]
push 0
push ebx
call fcn.00486960
add esp, 0xc
call fcn.004607e6
test al, al
je 0x4646ce
fimul dword [ebp + 0x31]
call 0x1c59b3dd
dec ebp
salc
inc ebx
mov ecx, 0x8b9dfdcd
mov ebp, 0xffffff64
call fcn.004600e4
test al, al
je 0x4646ee
sal byte [ebx + 0x6dbc2e39], cl
sahf
jmp 0xbe6178e8
call fcn.00460129
test al, al
je 0x46470c
dec esp
aaa
mov dl, 0x2b
push ds
aas
or al, byte [edx - 0xdd6254f]
jge 0x46470d
sbb ebp, dword [edi]
push ebp
sbb bl, byte [ecx]
push 0
lea eax, [ebp - 0xa4]
push eax
mov eax, dword [ebp - 0xa0]
push dword [eax]
push ebx
push edi
add byte [ebp - 0xa37b], cl
call dword [eax - 0x75]
test dword [eax - 1], esp
invalid
xor byte [ebx + 0x57], dl
call dword [sym.imp.KERNEL32.dll_ReadFile]
call fcn.00460534
test al, al
je 0x464744
push ebp
mov es, word es:[ebp + 0x6f9844c8]
outsb dx, byte [esi]
je 0x464745
pop esi
aas
invalid
call fcn.00460420
test al, al
xlatb
mov esp, 0xc084ffff
je 0x464762
test byte [edx], dl
call 0x5e5211a6
mov bl, 0x66
fistp word [esi + 0x24]
xchg esi, eax
jmp 0xcce73990
call fcn.004607a1
test al, al
je 0x464782
or ebp, dword [edi]
mov dword [0x40f2d3ad], edi
sub dword [ebx], ebp
xchg edx, eax
mov ebp, 0x7b1a89de
aam 0xc
jp 0x464787
jecxz 0x46471c
push word [ebp - 0x9c]
push dword [ebp - 0x9c]
invalid
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x46467e