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

Disassembly:
push 0xffffffffffffffff
push 0x1012eba0
mov eax, dword fs:[0]
push eax
sub esp, 0x34
push ebx
push ebp
push esi
push edi
mov eax, dword [0x101870dc]
xor eax, esp
push eax
lea eax, [esp + 0x48]
mov dword fs:[0], eax
mov esi, dword [esp + 0x6c]
push esi
call fcn.10025c40
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.10025c40
mov ebp, dword [esp + 0x6c]
add esp, 4
push eax
push ebp
call fcn.10025c40
mov edi, dword [esp + 0x6c]
add esp, 4
push eax
push edi
call fcn.10025c40
add esp, 4
push eax
push str.gsps:__s____s____s___lx__lu___s_
push 0xa
push 0x101999b0
call fcn.100264c0
add esp, 0x24
test ebx, ebx
je 0x1001db60
mov ecx, dword [esp + 0x68]
test ecx, ecx
je 0x1001db60
test ebp, ebp
je 0x1001db4b
cmp word [ebp], 0
je 0x1001db4b
test esi, esi
je 0x1001db4b
cmp word [esi], 0
je 0x1001db4b
push 1
lea ecx, [esp + 0x38]
call fcn.100256e0
push 1
lea ecx, [esp + 0x24]
mov dword [esp + 0x54], 0
call fcn.100256e0
mov byte [esp + 0x50], 1
test edi, edi
je 0x1001d92b
lea edx, [esp + 0x18]
push edx
push 0xffffffffffffffff
push edi
push 0
lea ecx, [esp + 0x44]
call fcn.100257e0
test eax, eax
jne 0x1001d92b
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
push eax
push ecx
call fcn.10028f00
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.10025780
lea ecx, [esp + 0x34]
mov dword [esp + 0x50], 0xffffffff
mov dword [esp + 0x34], edi
call fcn.10025780
mov eax, esi
jmp 0x1001db76
lea edx, [esp + 0x18]
push edx
push 0xffffffffffffffff
push ebp
push 0
lea ecx, [esp + 0x30]
call fcn.100257e0
test eax, eax
je 0x1001d8e4
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 0x1001d974
mov ebp, 0x220f1f07
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
jmp 0x1001dafe
push 0
push edi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov esi, eax
test esi, esi
jne 0x1001d992
mov ebp, 0x220f1f0b
mov esi, 0x103
jmp 0x1001daf3
cmp esi, 0xffffffff
jne 0x1001d9a9
mov ebp, 0x220f1f08
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
jmp 0x1001daf3
lea edx, [esp + 0x6c]
lea eax, [esi + 1]
push edx
push eax
call fcn.1001d5a0
mov ebx, eax
mov eax, dword [esp + 0x6c]
push 0
push eax
call fcn.1001d5a0
mov edi, eax
test ebx, ebx
je 0x1001dac7
test edi, edi
je 0x1001dac7
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 0x1001da05
mov ebp, 0x220f1f09
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
jmp 0x1001dad7
cmp dword [esp + 0x14], esi
je 0x1001da17
mov ebp, 0x220f1f09
xor esi, esi
jmp 0x1001dad7
mov eax, dword [esp + 0x6c]
push 0
push eax
push ebx
push edi
call fcn.1001d7d0
mov ecx, dword [esp + 0x58]
mov byte [edi + esi], 0
mov eax, edi
mov dword [esp + 0x6c], ebp
test ecx, ecx
je 0x1001da4e
cmp word [ecx], bp
je 0x1001da4e
mov ecx, dword [esp + 0x38]
push ecx
lea edx, [esp + 0x70]
push edx
call fcn.1001d310
add esp, 8
test eax, eax
jne 0x1001da5e
mov ebp, 0x220f1f0b
mov esi, 0x103
jmp 0x1001dad7
mov ecx, dword [esp + 0x24]
push ecx
lea edx, [esp + 0x70]
push edx
call fcn.1001d470
add esp, 8
test eax, eax
jne 0x1001da89
cmp dword [esp + 0x6c], ebp
mov esi, 0x103
setne al
add eax, 0x220f1f0c
mov ebp, eax
jmp 0x1001dad7
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.10025930
add esp, 0x18
test eax, eax
jne 0x1001dad3
mov esi, dword [esp + 0x18]
xor edx, edx
cmp esi, 0x7a
sete dl
lea edx, [edx*8 + 0x220f1f06]
mov ebp, edx
jmp 0x1001dad7
mov ebp, 0x220f1e01
mov esi, 0xe
jmp 0x1001dad7
mov esi, dword [esp + 0x64]
test ebx, ebx
je 0x1001dae1
push ebx
call fcn.1001d620
test edi, edi
je 0x1001daeb
push edi
call fcn.1001d620
mov edi, dword [esp + 0x5c]
mov ebx, dword [esp + 0x64]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test ebp, ebp
je 0x1001db28
mov eax, dword [esp + 0x60]
test eax, eax
jne 0x1001db0b
mov word [ebx], ax
jmp 0x1001db17
mov ecx, dword [esp + 0x68]
push eax
push ecx
push ebx
call fcn.100019a0
push esi
push ebp
call fcn.10028e60
push edx
push eax
call fcn.10028f00
add esp, 0x10
xor edx, edx
test ebp, ebp
sete dl
mov esi, edx
push esi
push str.gsps_ld
push 0xa
push 0x101999b0
call fcn.10026570
add esp, 0x10
jmp 0x1001d8f8
mov eax, dword [esp + 0x60]
test eax, eax
jne 0x1001db58
mov word [ebx], ax
jmp 0x1001db60
push eax
push ecx
push ebx
call fcn.100019a0
push 0x57
push 0x220f1f01
call fcn.10028e60
push edx
push eax
call fcn.10028f00
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