Function at 0x658810
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x140
nop
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x681a50
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
call fcn.00681400
mov dword [ebp - 0x20], eax
movzx eax, byte [0xa56fa8]
mov dword [ebp - 0x24], eax
lea esi, [ebp - 0x4c]
push fcn.00658810
push esi
call fcn.007834d0
add esp, 8
mov dword [ebp - 0x10], 1
mov ecx, esi
call fcn.007848e0
mov esi, dword [ebp + 8]
test al, al
je 0x6589d9
lea eax, [ebp - 0x3c]
lea ecx, [ebp - 0x4c]
push eax
call fcn.00783320
nop
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
cmp ecx, 8
lea ebx, [ebp - 0x3c]
jb 0x65889b
mov ebx, dword [ebp - 0x3c]
test eax, eax
je 0x6589f3
nop
mov ecx, dword [ebp - 0x24]
neg ecx
mov dword [ebp - 0x40], ecx
xorps xmm0, xmm0
movups xmmword [ebp - 0x12c], xmm0
movups xmmword [ebp - 0x5c], xmm0
movups xmmword [ebp - 0x6c], xmm0
movups xmmword [ebp - 0x7c], xmm0
movups xmmword [ebp - 0x8c], xmm0
movups xmmword [ebp - 0x9c], xmm0
movups xmmword [ebp - 0xac], xmm0
movups xmmword [ebp - 0xbc], xmm0
movups xmmword [ebp - 0xcc], xmm0
movups xmmword [ebp - 0xdc], xmm0
movups xmmword [ebp - 0xec], xmm0
movups xmmword [ebp - 0xfc], xmm0
movups xmmword [ebp - 0x10c], xmm0
movups xmmword [ebp - 0x11c], xmm0
movups xmmword [ebp - 0x13c], xmm0
movups xmmword [ebp - 0x14c], xmm0
mov byte [ebp - 0x11e], 1
lea ecx, [eax + eax]
mov esi, ecx
neg esi
xor edx, edx
jmp 0x658940
add edx, 2
add ebx, 0xfffffffe
mov edi, esi
add edi, edx
je 0x6589ef
nop
movzx edi, word [ebx + eax*2 - 2]
cmp edi, 0xff
ja 0x658930
nop
cmp byte [ebp + edi - 0x14c], 0
je 0x658930
mov esi, edx
sub esi, ecx
je 0x6589ef
mov eax, 0xfffffffe
sub eax, esi
add edx, 2
sar edx, 1
sar eax, 1
mov dword [ebp - 0x10], 2
lea ecx, [ebp - 0x3c]
push 9
push 0x9211b8
push edx
push eax
call fcn.00669310
nop
cmp dword [ebp - 0x28], 8
lea eax, [ebp - 0x3c]
jb 0x658996
mov eax, dword [ebp - 0x3c]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x6589ef
nop
mov ecx, dword [ebp - 0x20]
add ecx, dword [0xa07340]
mov eax, dword [0xa07330]
add ecx, dword [ebp - 0x40]
add ecx, eax
add ecx, 0xf062
mov dword [ebp - 0x10], 0xffffffff
call dword [0xa0535c]
lea eax, [ebp - 0x3c]
push 0x18
push eax
push dword [ebp + 8]
call ecx
add esp, 0xc
jmp 0x658a44
nop
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
mov word [esi], 0
jmp 0x658a48
nop
mov ecx, dword [ebp - 0x28]
nop
mov eax, dword [ebp + 8]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], 0
cmp ecx, 8
jb 0x658a44
nop
mov eax, dword [ebp - 0x3c]
lea esi, [ecx*2 + 2]
cmp esi, 0x1000
jb 0x658a39
nop
mov edx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, edx
cmp eax, 0x20
jae 0x658a66
add ecx, ecx
add ecx, 0x25
mov esi, ecx
mov eax, edx
nop
push esi
push eax
call fcn.008ea1ad
add esp, 8
nop
mov esi, dword [ebp + 8]
lea ecx, [ebp - 0x4c]
call fcn.00784700
mov eax, dword [ebp - 0x18]
mov dword fs:[0], eax
mov eax, esi
add esp, 0x140
pop esi
pop edi
pop ebx
pop ebp
ret
nop
mov dword [ebp - 0x10], 0
call fcn.008cd651
nop word cs:[eax + eax]
push ebp
sub esp, 0x10
add ebp, 0xc
call fcn.00901a00
nop dword [eax]
push ebp
sub esp, 0x10
add ebp, 0xc
lea ecx, [ebp - 0x4c]
call fcn.00784700
add esp, 0x10
pop ebp
ret