Function at 0x1000abd0
Capabilities:
Get file size
Read file on windows

Disassembly:
push 0xffffffffffffffff
push 0x101c49b0
mov eax, dword fs:[0]
push eax
sub esp, 0x34
push ebx
push ebp
push esi
push edi
mov eax, dword [0x1023d1a4]
xor eax, esp
push eax
lea eax, [esp + 0x48]
mov dword fs:[0], eax
mov esi, dword [esp + 0x6c]
push esi
call fcn.1000f8c0
mov ebx, dword [esp + 0x68]
mov ecx, dword [esp + 0x64]
add esp, 4
push eax
mov eax, dword [esp + 0x6c]
push eax
push ebx
push ecx
call fcn.1000f8c0
mov ebp, dword [esp + 0x6c]
add esp, 4
push eax
push ebp
call fcn.1000f8c0
mov edi, dword [esp + 0x6c]
add esp, 4
push eax
push edi
call fcn.1000f8c0
add esp, 4
push eax
push str.gsps:__s____s____s___lx__lu___s_
push 0xa
push 0x1023e498
call fcn.1000f2e0
add esp, 0x24
test ebx, ebx
je 0x1000af40
mov ecx, dword [esp + 0x68]
test ecx, ecx
je 0x1000af40
test ebp, ebp
je 0x1000af2b
cmp word [ebp], 0
je 0x1000af2b
test esi, esi
je 0x1000af2b
cmp word [esi], 0
je 0x1000af2b
push 1
lea ecx, [esp + 0x38]
call fcn.1000fe60
push 1
lea ecx, [esp + 0x24]
mov dword [esp + 0x54], 0
call fcn.1000fe60
mov byte [esp + 0x50], 1
test edi, edi
je 0x1000ad0b
lea edx, [esp + 0x18]
push edx
push 0xffffffffffffffff
push edi
push 0
lea ecx, [esp + 0x44]
call fcn.10010290
test eax, eax
jne 0x1000ad0b
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
push eax
push ecx
call fcn.1000e220
add esp, 8
mov esi, eax
mov edi, vtable.CAhnI2s_Memory.0
lea ecx, [esp + 0x20]
mov byte [esp + 0x50], 0
mov dword [esp + 0x20], edi
call fcn.1000ffe0
lea ecx, [esp + 0x34]
mov dword [esp + 0x50], 0xffffffff
mov dword [esp + 0x34], edi
call fcn.1000ffe0
mov eax, esi
jmp 0x1000af56
lea edx, [esp + 0x18]
push edx
push 0xffffffffffffffff
push ebp
push 0
lea ecx, [esp + 0x30]
call fcn.10010290
test eax, eax
je 0x1000acc4
xor ebp, ebp
push ebp
push ebp
push 3
push ebp
push 1
push closesocket
push esi
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov edi, eax
mov dword [esp + 0x5c], edi
cmp edi, 0xffffffff
jne 0x1000ad54
mov ebp, 0x220f1f07
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
jmp 0x1000aede
push 0
push edi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov esi, eax
test esi, esi
jne 0x1000ad72
mov ebp, 0x220f1f0b
mov esi, 0x103
jmp 0x1000aed3
cmp esi, 0xffffffff
jne 0x1000ad89
mov ebp, 0x220f1f08
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
jmp 0x1000aed3
lea edx, [esp + 0x6c]
lea eax, [esi + 1]
push edx
push eax
call fcn.1000a980
mov ebx, eax
mov eax, dword [esp + 0x6c]
push 0
push eax
call fcn.1000a980
mov edi, eax
test ebx, ebx
je 0x1000aea7
test edi, edi
je 0x1000aea7
mov edx, dword [esp + 0x5c]
push 0
lea ecx, [esp + 0x18]
push ecx
push esi
push ebx
push edx
mov dword [esp + 0x28], esi
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x1000ade5
mov ebp, 0x220f1f09
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
jmp 0x1000aeb7
cmp dword [esp + 0x14], esi
je 0x1000adf7
mov ebp, 0x220f1f09
xor esi, esi
jmp 0x1000aeb7
mov eax, dword [esp + 0x6c]
push 0
push eax
push ebx
push edi
call fcn.1000abb0
mov ecx, dword [esp + 0x58]
mov byte [edi + esi], 0
mov eax, edi
mov dword [esp + 0x6c], ebp
test ecx, ecx
je 0x1000ae2e
cmp word [ecx], bp
je 0x1000ae2e
mov ecx, dword [esp + 0x38]
push ecx
lea edx, [esp + 0x70]
push edx
call fcn.1000a6f0
add esp, 8
test eax, eax
jne 0x1000ae3e
mov ebp, 0x220f1f0b
mov esi, 0x103
jmp 0x1000aeb7
mov ecx, dword [esp + 0x24]
push ecx
lea edx, [esp + 0x70]
push edx
call fcn.1000a850
add esp, 8
test eax, eax
jne 0x1000ae69
cmp dword [esp + 0x6c], ebp
mov esi, 0x103
setne al
add eax, 0x220f1f0c
mov ebp, eax
jmp 0x1000aeb7
mov ecx, dword [esp + 0x6c]
lea edx, [esp + 0x18]
push edx
push 0xffffffffffffffff
push eax
mov eax, dword [esp + 0x74]
push 0
mov byte [ecx], 0
mov ecx, dword [esp + 0x74]
push eax
push ecx
call fcn.1000f4b0
add esp, 0x18
test eax, eax
jne 0x1000aeb3
mov esi, dword [esp + 0x18]
xor edx, edx
cmp esi, 0x7a
sete dl
lea edx, [edx*8 + 0x220f1f06]
mov ebp, edx
jmp 0x1000aeb7
mov ebp, 0x220f1e01
mov esi, 0xe
jmp 0x1000aeb7
mov esi, dword [esp + 0x64]
test ebx, ebx
je 0x1000aec1
push ebx
call fcn.1000aa00
test edi, edi
je 0x1000aecb
push edi
call fcn.1000aa00
mov edi, dword [esp + 0x5c]
mov ebx, dword [esp + 0x64]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test ebp, ebp
je 0x1000af08
mov eax, dword [esp + 0x60]
test eax, eax
jne 0x1000aeeb
mov word [ebx], ax
jmp 0x1000aef7
mov ecx, dword [esp + 0x68]
push eax
push ecx
push ebx
call fcn.10002280
push esi
push ebp
call fcn.1000e150
push edx
push eax
call fcn.1000e220
add esp, 0x10
xor edx, edx
test ebp, ebp
sete dl
mov esi, edx
push esi
push str.gsps_ld
push 0xa
push 0x1023e498
call fcn.1000f390
add esp, 0x10
jmp 0x1000acd8
mov eax, dword [esp + 0x60]
test eax, eax
jne 0x1000af38
mov word [ebx], ax
jmp 0x1000af40
push eax
push ecx
push ebx
call fcn.10002280
push 0x57
push 0x220f1f01
call fcn.1000e150
push edx
push eax
call fcn.1000e220
add esp, 0x10
mov ecx, dword [esp + 0x48]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret 0x18