Function at 0x4d58f0
Capabilities:
Read file on windows

Disassembly:
mov eax, dword [esp + 4]
sub esp, 0x290
test eax, eax
push ebx
push ebp
push esi
push edi
mov ebp, ecx
jne 0x4d5914
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x290
ret 4
push 0x5011d4
push eax
call dword [sym.imp.MSVCRT.dll__wfopen]
mov esi, eax
add esp, 8
test esi, esi
jne 0x4d5939
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x290
ret 4
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x9a]
mov word [esp + 0x98], 0
rep stosd dword es:[edi], eax
mov ebx, dword [sym.imp.MSVCRT.dll_fread]
push esi
stosw word es:[edi], ax
push 1
lea eax, [esp + 0x28]
push 4
push eax
call ebx
push esi
push 1
lea ecx, [esp + 0x2c]
push 4
push ecx
mov edi, eax
call ebx
add esp, 0x20
add eax, edi
je 0x4d5b78
mov eax, dword [esp + 0x20]
cmp eax, 0x2711
jne 0x4d59b0
mov edx, dword [esp + 0x14]
push esi
push edx
lea eax, [ebp + 0x28c]
push 1
push eax
call ebx
mov ecx, dword [esp + 0x24]
add esp, 0x10
cmp ecx, eax
jne 0x4d5b85
jmp 0x4d5b4a
cmp eax, 0x2712
jne 0x4d59c8
mov ecx, dword [esp + 0x14]
push esi
push ecx
lea edx, [ebp + 0x2a0]
push 1
push edx
jmp 0x4d599a
cmp eax, 0x2713
jne 0x4d59e5
push esi
mov ecx, ebp
call fcn.004d5f70
cmp eax, 0xffffffff
je 0x4d5b85
jmp 0x4d5b4a
cmp eax, 0x2714
jne 0x4d5a00
push esi
push 1
lea eax, [esp + 0x24]
push 4
push eax
call ebx
add esp, 0x10
cmp eax, 1
jmp 0x4d59a5
cmp eax, 0x2715
je 0x4d5aab
cmp eax, 0x2716
jne 0x4d5a2c
push esi
push 0x14
lea edx, [esp + 0xa0]
push 2
push edx
call ebx
add esp, 0x10
cmp eax, 0x14
jmp 0x4d59a5
cmp eax, 0x2717
jne 0x4d5a4a
push esi
push 1
lea eax, [esp + 0x1b]
push 1
push eax
call ebx
add esp, 0x10
cmp eax, 1
jmp 0x4d59a5
cmp eax, 0x271a
jne 0x4d5a68
push esi
push 1
lea ecx, [esp + 0x1b]
push 1
push ecx
call ebx
add esp, 0x10
cmp eax, 1
jmp 0x4d59a5
cmp eax, 0x2719
jne 0x4d5a86
push esi
push 1
lea edx, [esp + 0x2c]
push 0x10
push edx
call ebx
add esp, 0x10
cmp eax, 1
jmp 0x4d59a5
cmp eax, 0x2718
jne 0x4d5aa4
push esi
push 1
lea eax, [esp + 0x2c]
push 0x10
push eax
call ebx
add esp, 0x10
cmp eax, 1
jmp 0x4d59a5
cmp eax, 0x271b
jne 0x4d5ac2
push esi
push 1
lea ecx, [esp + 0x24]
push 4
push ecx
call ebx
add esp, 0x10
cmp eax, 1
jmp 0x4d59a5
cmp eax, 0x271c
jne 0x4d5b71
mov ecx, 0x18
xor eax, eax
lea edi, [esp + 0x36]
mov word [esp + 0x34], 0
rep stosd dword es:[edi], eax
push esi
push 0x32
lea edx, [esp + 0x3c]
push 2
push edx
stosw word es:[edi], ax
call ebx
add esp, 0x10
cmp eax, 0x32
jne 0x4d5b85
lea eax, [esp + 0x34]
lea ecx, [ebp + 0x84]
push eax
push 0x4f6580
push 0x32
push ecx
call dword [sym.imp.MSVCRT.dll__snwprintf]
lea edx, [esp + 0x28]
xor edi, edi
push edx
mov dword [esp + 0x2c], edi
call fcn.004c02a0
mov eax, dword [esp + 0x2c]
add esp, 0x14
cmp eax, 2
jne 0x4d5b4a
call fcn.004b8150
add eax, 0x8c
push eax
lea eax, [esp + 0x38]
push eax
call dword [sym.imp.SHLWAPI.dll_StrCmpW]
test eax, eax
jne 0x4d5b87
push esi
push 1
lea ecx, [esp + 0x28]
push 4
push ecx
call ebx
push esi
push 1
lea edx, [esp + 0x2c]
push 4
push edx
mov edi, eax
call ebx
add esp, 0x20
add eax, edi
jne 0x4d5980
jmp 0x4d5b78
cmp eax, 0x2af8
jne 0x4d5b85
push esi
mov ecx, ebp
call fcn.004d6130
cmp eax, 0xffffffff
jne 0x4d5bb9
xor edi, edi
mov eax, dword [ebp + 0x14]
mov dword [ebp + 0x18], edi
cmp eax, edi
mov dword [ebp + 0x1c], edi
je 0x4d5ba0
push eax
call fcn.004acab9
add esp, 4
mov dword [ebp + 0x14], edi
push esi
call dword [sym.imp.MSVCRT.dll_fclose]
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x290
ret 4
push esi
call dword [sym.imp.MSVCRT.dll_fclose]
add esp, 4
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x290
ret 4