Function at 0x102ece00
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1020
call fcn.102e5760
mov eax, dword [0x1041020c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 0xc]
push edi
mov edi, dword [ebp + 8]
push edi
mov dword [ebp - 0x101c], esi
call fcn.102e7a80
push esi
lea ebx, [eax - 1]
mov dword [ebp - 0x1020], ebx
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_clearerr]
add esp, 8
test ebx, ebx
jne 0x102ece8b
push 1
push esi
push edi
call fcn.102eccd0
mov ebx, eax
add esp, 0xc
mov eax, dword [ebp + 0x10]
inc eax
mov dword [ebp - 0x1018], eax
push esi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ferror]
add esp, 4
test eax, eax
je 0x102ed064
push 0
push 0
push edi
call fcn.102e6630
add esp, 0xc
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1033bd36
mov esp, ebp
pop ebp
ret
push str.too_many_arguments
lea eax, [ebx + 0x14]
push eax
push edi
call fcn.102e6220
mov eax, dword [ebp + 0x10]
add esp, 0xc
mov ecx, dword [ebp - 0x1020]
mov ebx, 1
mov dword [ebp - 0x1018], eax
dec ecx
mov dword [ebp - 0x1020], ecx
test ebx, ebx
je 0x102ece5b
push eax
push edi
call fcn.102e7e20
mov ebx, dword [ebp - 0x1018]
add esp, 8
cmp eax, 3
jne 0x102ecf69
push ebx
push edi
call fcn.102e6100
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x102ecf1a
push esi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_getc]
push dword [ebp - 0x101c]
mov esi, eax
push esi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ungetc]
push 0x103ac95b
push edi
call fcn.102e8310
add esp, 0x14
cmp esi, 0xffffffff
mov esi, dword [ebp - 0x101c]
setne bl
jmp 0x102ed024
lea eax, [ebp - 0x1014]
push eax
push edi
call fcn.102e7170
lea eax, [ebp - 0x1014]
push ebx
push eax
call fcn.102e71a0
push esi
push ebx
push 1
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
mov esi, eax
lea eax, [ebp - 0x1014]
add dword [ebp - 0x100c], esi
push eax
call fcn.102e7440
xor eax, eax
add esp, 0x24
cmp eax, esi
mov esi, dword [ebp - 0x101c]
sbb ebx, ebx
neg ebx
jmp 0x102ed024
push 0
push ebx
push edi
call fcn.102e5f60
add esp, 0xc
mov cl, byte [eax]
cmp cl, 0x2a
jne 0x102ecf7f
mov cl, byte [eax + 1]
movsx eax, cl
add eax, 0xffffffb4
cmp eax, 0x22
ja case.0x102ecf95.77
movzx eax, byte [eax + 0x102ed0a8]
jmp dword [eax*4 + 0x102ed094]
push esi
push edi
call fcn.102ec9e0
add esp, 8
mov ebx, eax
jmp 0x102ed024
push 1
push esi
push edi
call fcn.102eccd0
add esp, 0xc
mov ebx, eax
jmp 0x102ed024
push 0
push esi
push edi
call fcn.102eccd0
add esp, 0xc
mov ebx, eax
jmp 0x102ed024
lea eax, [ebp - 0x1014]
push eax
push edi
call fcn.102e7170
add esp, 8
nop word [eax + eax]
lea eax, [ebp - 0x1014]
push 0x1000
push eax
call fcn.102e71a0
push esi
push 0x1000
push 1
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
add dword [ebp - 0x100c], eax
add esp, 0x18
cmp eax, 0x1000
je 0x102ecfe0
lea eax, [ebp - 0x1014]
push eax
call fcn.102e7440
add esp, 4
mov ebx, 1
mov eax, dword [ebp - 0x1018]
mov ecx, dword [ebp - 0x1020]
inc eax
mov dword [ebp - 0x1018], eax
test ecx, ecx
jne 0x102eceb1
jmp 0x102ece5b
push str.invalid_format
push ebx
push edi
call fcn.102e5e50
add esp, 0xc
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1033bd36
mov esp, ebp
pop ebp
ret
test ebx, ebx
jne 0x102ed079
push 0xfffffffffffffffe
push edi
call fcn.102e7aa0
push edi
call fcn.102e8240
add esp, 0xc
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x1018]
xor ecx, ebp
sub eax, dword [ebp + 0x10]
pop edi
pop esi
pop ebx
call fcn.1033bd36
mov esp, ebp
pop ebp
ret