Function at 0x544170
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1020
call fcn.005810a0
mov eax, dword [0x5de00c]
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.00531990
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 0x5441fb
push 1
push esi
push edi
call fcn.005448e0
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 0x5443d4
push 0
push 0
push edi
call fcn.00533530
add esp, 0xc
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052d3c5
mov esp, ebp
pop ebp
ret
push str.too_many_arguments
lea eax, [ebx + 0x14]
push eax
push edi
call fcn.00533280
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 0x5441cb
push eax
push edi
call fcn.00532a90
mov ebx, dword [ebp - 0x1018]
add esp, 8
cmp eax, 3
jne 0x5442d9
push ebx
push edi
call fcn.005330c0
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x54428a
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 0x5bd4a4
push edi
call fcn.00531f80
add esp, 0x14
cmp esi, 0xffffffff
mov esi, dword [ebp - 0x101c]
setne bl
jmp 0x544394
lea eax, [ebp - 0x1014]
push eax
push edi
call fcn.00533030
lea eax, [ebp - 0x1014]
push ebx
push eax
call fcn.00533c90
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.00533e10
xor eax, eax
add esp, 0x24
cmp eax, esi
mov esi, dword [ebp - 0x101c]
sbb ebx, ebx
neg ebx
jmp 0x544394
push 0
push ebx
push edi
call fcn.00533140
add esp, 0xc
mov cl, byte [eax]
cmp cl, 0x2a
jne 0x5442ef
mov cl, byte [eax + 1]
movsx eax, cl
add eax, 0xffffffb4
cmp eax, 0x22
ja case.0x544305.77
movzx eax, byte [eax + 0x544418]
jmp dword [eax*4 + 0x544404]
push esi
push edi
call fcn.00544a20
add esp, 8
mov ebx, eax
jmp 0x544394
push 1
push esi
push edi
call fcn.005448e0
add esp, 0xc
mov ebx, eax
jmp 0x544394
push 0
push esi
push edi
call fcn.005448e0
add esp, 0xc
mov ebx, eax
jmp 0x544394
lea eax, [ebp - 0x1014]
push eax
push edi
call fcn.00533030
add esp, 8
nop word [eax + eax]
lea eax, [ebp - 0x1014]
push 0x1000
push eax
call fcn.00533c90
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 0x544350
lea eax, [ebp - 0x1014]
push eax
call fcn.00533e10
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 0x544221
jmp 0x5441cb
push str.invalid_format
push ebx
push edi
call fcn.00532f20
add esp, 0xc
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052d3c5
mov esp, ebp
pop ebp
ret
test ebx, ebx
jne 0x5443e9
push 0xfffffffffffffffe
push edi
call fcn.00532650
push edi
call fcn.00531f40
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.0052d3c5
mov esp, ebp
pop ebp
ret