Function at 0x4d4a08
Capabilities:
Read file on windows

Disassembly:
push 0x5c
mov eax, 0x5286e0
call fcn.00452846
mov esi, ecx
cmp dword [esi], 0xe
mov ebx, dword [ebp + 0x10]
mov edi, dword [ebp + 8]
mov dword [ebp - 0x50], ebx
jb 0x4d4a33
push ebx
push edi
call fcn.004d4857
test eax, eax
js 0x4d4d12
push 0xffffffffffffffff
push 2
push ebx
push edi
mov ecx, esi
call fcn.004d46d8
test eax, eax
js 0x4d4d12
cmp eax, 1
je 0x4d4d12
push 0xffffffffffffffff
push 3
push ebx
push edi
mov ecx, esi
call fcn.004d46d8
test eax, eax
js 0x4d4d12
push 0xffffffffffffffff
push 4
push ebx
push edi
mov ecx, esi
call fcn.004d46d8
test eax, eax
js 0x4d4d12
push 0xffffffffffffffff
push 5
push ebx
push edi
mov ecx, esi
call fcn.004d46d8
test eax, eax
js 0x4d4d12
push 0xffffffffffffffff
push 6
push ebx
push edi
mov ecx, esi
call fcn.004d46d8
test eax, eax
js 0x4d4d12
push 0xffffffffffffffff
push 8
push ebx
push edi
mov ecx, esi
call fcn.004d46d8
test eax, eax
js 0x4d4d12
push 0xffffffffffffffff
push 7
push ebx
push edi
mov ecx, esi
call fcn.004d46d8
test eax, eax
js 0x4d4d12
push 0xffffffffffffffff
push 9
push ebx
push edi
mov ecx, esi
call fcn.004d46d8
test eax, eax
js 0x4d4d12
cmp dword [esi], 8
jb 0x4d4b18
push 0xffffffffffffffff
push 0xc
push ebx
push edi
mov ecx, esi
call fcn.004d46d8
test eax, eax
js 0x4d4d12
cmp dword [esi], 0xc
jb 0x4d4b18
push 0xffffffffffffffff
push 0xe
push ebx
push edi
mov ecx, esi
call fcn.004d46d8
test eax, eax
js 0x4d4d12
cmp dword [esi + 0x34c], 4
mov al, byte [esi + 4]
sete cl
and al, 1
or cl, al
movzx eax, cl
push eax
mov ecx, ebx
call fcn.0051a9cb
mov ecx, eax
call fcn.0050d184
mov ecx, dword [esi + 4]
shr ecx, 1
and cl, 1
cmp dword [esi + 0x34c], 4
sete al
or cl, al
movzx eax, cl
push eax
mov ecx, ebx
call fcn.0051a9cb
mov ecx, eax
call fcn.0050d170
mov ecx, dword [ebp - 0x50]
mov bl, byte [esi + 0x1d8]
call fcn.0051a9cb
mov byte [eax + 7], bl
mov ebx, dword [ebp - 0x50]
mov ecx, ebx
call fcn.0051a9cb
mov ecx, eax
call fcn.0050bc1f
cmp dword [esi], 7
jb 0x4d4d10
xor eax, eax
push eax
mov byte [ebp - 0x49], al
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x58]
push eax
push 1
lea eax, [ebp - 0x49]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x4d4bfe
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
test edi, edi
jle 0x4d4bc5
and edi, 0xffff
or edi, 0x80070000
push edi
lea eax, [ebp - 0x2c]
push eax
call fcn.004df515
and dword [ebp - 4], 0
cmp dword [eax + 0x14], 8
jb 0x4d4bdb
mov eax, dword [eax]
push eax
push edi
push 0x415bd0
push esi
call fcn.004d3d0f
add esp, 0x10
push 0
push 1
lea ecx, [ebp - 0x2c]
call fcn.00444c55
mov eax, edi
jmp 0x4d4d12
mov al, byte [ebp - 0x49]
test al, al
je 0x4d4d10
and dword [ebp - 0x64], 0
test al, al
je 0x4d4d10
and dword [ebp - 0x54], 0
push 0
lea eax, [ebp - 0x58]
push eax
push 4
lea eax, [ebp - 0x60]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x4d4e00
push 0
lea eax, [ebp - 0x58]
push eax
push 4
lea eax, [ebp - 0x5c]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x4d4dd2
cmp dword [ebp - 0x5c], 0
jl 0x4d4cb6
push 0
lea eax, [ebp - 0x58]
push eax
push 4
lea eax, [ebp - 0x54]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x4d4d6e
mov eax, dword [ebp - 0x54]
test eax, eax
je 0x4d4cb9
push 0x5680c8
xor ecx, ecx
push 0x2c
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004dc034
pop ecx
pop ecx
mov dword [ebp - 0x50], eax
test eax, eax
je 0x4d4d67
push 0
lea ecx, [ebp - 0x58]
push ecx
mov ecx, dword [ebp - 0x54]
imul ecx, ecx, 0x2c
push ecx
push eax
push edi
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x4d4d1a
mov eax, dword [ebp - 0x54]
push dword [ebp - 0x5c]
mov ecx, ebx
push dword [ebp - 0x50]
push eax
push dword [ebp - 0x60]
call fcn.0051ac2e
mov dword [ebp - 0x68], eax
test eax, eax
js 0x4d4d9c
mov eax, dword [ebp - 0x50]
test eax, eax
je 0x4d4ceb
push eax
call fcn.0044f6a7
and dword [ebp - 0x50], 0
and dword [ebp - 0x54], 0
pop ecx
push dword [ebp - 0x60]
mov ecx, esi
push 0xa
push ebx
push edi
call fcn.004d46d8
test eax, eax
js 0x4d4d12
mov ecx, dword [ebp - 0x64]
movzx eax, byte [ebp - 0x49]
inc ecx
mov dword [ebp - 0x64], ecx
cmp ecx, eax
jb 0x4d4c15
xor eax, eax
call fcn.004528d8
ret 0xc
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
test edi, edi
jle 0x4d4d32
and edi, 0xffff
or edi, 0x80070000
push edi
lea eax, [ebp - 0x48]
push eax
call fcn.004df515
cmp dword [eax + 0x14], 8
mov dword [ebp - 4], 4
jb 0x4d4d4b
mov eax, dword [eax]
push eax
push edi
push 0x415bd0
push esi
call fcn.004d3d0f
add esp, 0x10
push 0
push 1
lea ecx, [ebp - 0x48]
jmp 0x4d4bf2
mov eax, 0x8007000e
jmp 0x4d4d12
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
test edi, edi
jle 0x4d4d86
and edi, 0xffff
or edi, 0x80070000
push edi
lea eax, [ebp - 0x2c]
push eax
call fcn.004df515
mov dword [ebp - 4], 3
jmp 0x4d4bd3
cmp eax, 0x8007000e
jne 0x4d4db2
push 0x415674
push esi
call fcn.004d3d0f
pop ecx
pop ecx
jmp 0x4d4dc1
push eax
push 0x415bf8
push esi
call fcn.004d3d0f
add esp, 0xc
push dword [ebp - 0x50]
call fcn.0044f6a7
mov eax, dword [ebp - 0x68]
pop ecx
jmp 0x4d4d12
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
test edi, edi
jle 0x4d4dea
and edi, 0xffff
or edi, 0x80070000
push edi
lea eax, [ebp - 0x2c]
push eax
call fcn.004df515
mov dword [ebp - 4], 2
jmp 0x4d4bd3
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
test edi, edi
jle 0x4d4e18
and edi, 0xffff
or edi, 0x80070000
push edi
lea eax, [ebp - 0x2c]
push eax
call fcn.004df515
xor ebx, ebx
inc ebx
cmp dword [eax + 0x14], 8
mov dword [ebp - 4], ebx
jb 0x4d4e30
mov eax, dword [eax]
push eax
push edi
push 0x415bd0
push esi
call fcn.004d3d0f
add esp, 0x10
push 0
push ebx
jmp 0x4d4bef