Function at 0x10122a50
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1020
call fcn.10139c90
mov eax, dword [0x1029ad64]
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.101163b0
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 0x10122adb
push 1
push esi
push edi
call fcn.101231c0
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 0x10122cb4
push 0
push 0
push edi
call fcn.10117ed0
add esp, 0xc
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10139242
mov esp, ebp
pop ebp
ret
push str.too_many_arguments
lea eax, [ebx + 0x14]
push eax
push edi
call fcn.10117c20
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 0x10122aab
push eax
push edi
call fcn.101173e0
mov ebx, dword [ebp - 0x1018]
add esp, 8
cmp eax, 3
jne 0x10122bb9
push ebx
push edi
call fcn.10117a60
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x10122b6a
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 0x1019e5cd
push edi
call fcn.10116970
add esp, 0x14
cmp esi, 0xffffffff
mov esi, dword [ebp - 0x101c]
setne bl
jmp 0x10122c74
lea eax, [ebp - 0x1014]
push eax
push edi
call fcn.101179d0
lea eax, [ebp - 0x1014]
push ebx
push eax
call fcn.10118630
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.101187d0
xor eax, eax
add esp, 0x24
cmp eax, esi
mov esi, dword [ebp - 0x101c]
sbb ebx, ebx
neg ebx
jmp 0x10122c74
push 0
push ebx
push edi
call fcn.10117ae0
add esp, 0xc
mov cl, byte [eax]
cmp cl, 0x2a
jne 0x10122bcf
mov cl, byte [eax + 1]
movsx eax, cl
add eax, 0xffffffb4
cmp eax, 0x22
ja case.0x10122be5.77
movzx eax, byte [eax + 0x10122cf8]
jmp dword [eax*4 + 0x10122ce4]
push esi
push edi
call fcn.10123300
add esp, 8
mov ebx, eax
jmp 0x10122c74
push 1
push esi
push edi
call fcn.101231c0
add esp, 0xc
mov ebx, eax
jmp 0x10122c74
push 0
push esi
push edi
call fcn.101231c0
add esp, 0xc
mov ebx, eax
jmp 0x10122c74
lea eax, [ebp - 0x1014]
push eax
push edi
call fcn.101179d0
add esp, 8
nop word [eax + eax]
lea eax, [ebp - 0x1014]
push 0x1000
push eax
call fcn.10118630
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 0x10122c30
lea eax, [ebp - 0x1014]
push eax
call fcn.101187d0
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 0x10122b01
jmp 0x10122aab
push str.invalid_format
push ebx
push edi
call fcn.101178c0
add esp, 0xc
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10139242
mov esp, ebp
pop ebp
ret
test ebx, ebx
jne 0x10122cc9
push 0xfffffffffffffffe
push edi
call fcn.10116fc0
push edi
call fcn.10116930
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.10139242
mov esp, ebp
pop ebp
ret