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

Disassembly:
push 0xffffffffffffffff
push 0x101c4240
mov eax, dword fs:[0]
push eax
sub esp, 0x34
push ebx
push ebp
push esi
push edi
mov eax, dword [0x1023d1bc]
xor eax, esp
push eax
lea eax, [esp + 0x48]
mov dword fs:[0], eax
mov esi, dword [esp + 0x6c]
push esi
call fcn.1000fd80
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.1000fd80
mov ebp, dword [esp + 0x6c]
add esp, 4
push eax
push ebp
call fcn.1000fd80
mov edi, dword [esp + 0x6c]
add esp, 4
push eax
push edi
call fcn.1000fd80
add esp, 4
push eax
push str.gsps:__s____s____s___lx__lu___s_
push 0xa
push 0x1023e498
call fcn.1000f7a0
add esp, 0x24
test ebx, ebx
je 0x1000aef0
mov ecx, dword [esp + 0x68]
test ecx, ecx
je 0x1000aef0
test ebp, ebp
je 0x1000aedb
cmp word [ebp], 0
je 0x1000aedb
test esi, esi
je 0x1000aedb
cmp word [esi], 0
je 0x1000aedb
push 1
lea ecx, [esp + 0x38]
call fcn.1000e100
push 1
lea ecx, [esp + 0x24]
mov dword [esp + 0x54], 0
call fcn.1000e100
mov byte [esp + 0x50], 1
test edi, edi
je 0x1000acbb
lea edx, [esp + 0x18]
push edx
push 0xffffffffffffffff
push edi
push 0
lea ecx, [esp + 0x44]
call fcn.1000e520
test eax, eax
jne 0x1000acbb
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
push eax
push ecx
call fcn.1000e710
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.1000e270
lea ecx, [esp + 0x34]
mov dword [esp + 0x50], 0xffffffff
mov dword [esp + 0x34], edi
call fcn.1000e270
mov eax, esi
jmp 0x1000af06
lea edx, [esp + 0x18]
push edx
push 0xffffffffffffffff
push ebp
push 0
lea ecx, [esp + 0x30]
call fcn.1000e520
test eax, eax
je 0x1000ac74
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 0x1000ad04
mov ebp, 0x220f1f07
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
jmp 0x1000ae8e
push 0
push edi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov esi, eax
test esi, esi
jne 0x1000ad22
mov ebp, 0x220f1f0b
mov esi, 0x103
jmp 0x1000ae83
cmp esi, 0xffffffff
jne 0x1000ad39
mov ebp, 0x220f1f08
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
jmp 0x1000ae83
lea edx, [esp + 0x6c]
lea eax, [esi + 1]
push edx
push eax
call fcn.1000a930
mov ebx, eax
mov eax, dword [esp + 0x6c]
push 0
push eax
call fcn.1000a930
mov edi, eax
test ebx, ebx
je 0x1000ae57
test edi, edi
je 0x1000ae57
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 0x1000ad95
mov ebp, 0x220f1f09
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
jmp 0x1000ae67
cmp dword [esp + 0x14], esi
je 0x1000ada7
mov ebp, 0x220f1f09
xor esi, esi
jmp 0x1000ae67
mov eax, dword [esp + 0x6c]
push 0
push eax
push ebx
push edi
call fcn.1000ab60
mov ecx, dword [esp + 0x58]
mov byte [edi + esi], 0
mov eax, edi
mov dword [esp + 0x6c], ebp
test ecx, ecx
je 0x1000adde
cmp word [ecx], bp
je 0x1000adde
mov ecx, dword [esp + 0x38]
push ecx
lea edx, [esp + 0x70]
push edx
call fcn.1000a6a0
add esp, 8
test eax, eax
jne 0x1000adee
mov ebp, 0x220f1f0b
mov esi, 0x103
jmp 0x1000ae67
mov ecx, dword [esp + 0x24]
push ecx
lea edx, [esp + 0x70]
push edx
call fcn.1000a800
add esp, 8
test eax, eax
jne 0x1000ae19
cmp dword [esp + 0x6c], ebp
mov esi, 0x103
setne al
add eax, 0x220f1f0c
mov ebp, eax
jmp 0x1000ae67
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.1000f970
add esp, 0x18
test eax, eax
jne 0x1000ae63
mov esi, dword [esp + 0x18]
xor edx, edx
cmp esi, 0x7a
sete dl
lea edx, [edx*8 + 0x220f1f06]
mov ebp, edx
jmp 0x1000ae67
mov ebp, 0x220f1e01
mov esi, 0xe
jmp 0x1000ae67
mov esi, dword [esp + 0x64]
test ebx, ebx
je 0x1000ae71
push ebx
call fcn.1000a9b0
test edi, edi
je 0x1000ae7b
push edi
call fcn.1000a9b0
mov edi, dword [esp + 0x5c]
mov ebx, dword [esp + 0x64]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test ebp, ebp
je 0x1000aeb8
mov eax, dword [esp + 0x60]
test eax, eax
jne 0x1000ae9b
mov word [ebx], ax
jmp 0x1000aea7
mov ecx, dword [esp + 0x68]
push eax
push ecx
push ebx
call fcn.10002270
push esi
push ebp
call fcn.1000e640
push edx
push eax
call fcn.1000e710
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.1000f850
add esp, 0x10
jmp 0x1000ac88
mov eax, dword [esp + 0x60]
test eax, eax
jne 0x1000aee8
mov word [ebx], ax
jmp 0x1000aef0
push eax
push ecx
push ebx
call fcn.10002270
push 0x57
push 0x220f1f01
call fcn.1000e640
push edx
push eax
call fcn.1000e710
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