Function at 0x10138740
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1020
call fcn.10155ef0
mov eax, dword [0x10331c40]
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.10134ac0
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 0x101387cb
push 1
push esi
push edi
call fcn.10138ee0
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 0x101389a4
push 0
push 0
push edi
call fcn.10132670
add esp, 0xc
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.101556c2
mov esp, ebp
pop ebp
ret
push str.too_many_arguments
lea eax, [ebx + 0x14]
push eax
push edi
call fcn.101323c0
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 0x1013879b
push eax
push edi
call fcn.10135c40
mov ebx, dword [ebp - 0x1018]
add esp, 8
cmp eax, 3
jne 0x101388a9
push ebx
push edi
call fcn.101321f0
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x1013885a
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 0x101bb6d2
push edi
call fcn.101350d0
add esp, 0x14
cmp esi, 0xffffffff
mov esi, dword [ebp - 0x101c]
setne bl
jmp 0x10138964
lea eax, [ebp - 0x1014]
push eax
push edi
call fcn.10132160
lea eax, [ebp - 0x1014]
push ebx
push eax
call fcn.10132e70
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.10133010
xor eax, eax
add esp, 0x24
cmp eax, esi
mov esi, dword [ebp - 0x101c]
sbb ebx, ebx
neg ebx
jmp 0x10138964
push 0
push ebx
push edi
call fcn.10132270
add esp, 0xc
mov cl, byte [eax]
cmp cl, 0x2a
jne 0x101388bf
mov cl, byte [eax + 1]
movsx eax, cl
add eax, 0xffffffb4
cmp eax, 0x22
ja case.0x101388d5.77
movzx eax, byte [eax + 0x101389e8]
jmp dword [eax*4 + 0x101389d4]
push esi
push edi
call fcn.10139010
add esp, 8
mov ebx, eax
jmp 0x10138964
push 1
push esi
push edi
call fcn.10138ee0
add esp, 0xc
mov ebx, eax
jmp 0x10138964
push 0
push esi
push edi
call fcn.10138ee0
add esp, 0xc
mov ebx, eax
jmp 0x10138964
lea eax, [ebp - 0x1014]
push eax
push edi
call fcn.10132160
add esp, 8
nop word [eax + eax]
lea eax, [ebp - 0x1014]
push 0x1000
push eax
call fcn.10132e70
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 0x10138920
lea eax, [ebp - 0x1014]
push eax
call fcn.10133010
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 0x101387f1
jmp 0x1013879b
push str.invalid_format
push ebx
push edi
call fcn.10132050
add esp, 0xc
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.101556c2
mov esp, ebp
pop ebp
ret
test ebx, ebx
jne 0x101389b9
push 0xfffffffffffffffe
push edi
call fcn.101357e0
push edi
call fcn.10135090
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.101556c2
mov esp, ebp
pop ebp
ret