Function at 0x4d4920
Capabilities:
Read file on windows

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x5cfd4b
push eax
mov dword fs:[0], esp
sub esp, 8
push ebx
push ebp
push esi
xor ebp, ebp
push edi
mov edi, dword [esp + 0x28]
push ebp
push 0x80
push 3
push ebp
push ebp
push 0x80000000
push edi
call dword [sym.imp.kernel32.dll_CreateFileA]
mov ebx, eax
cmp ebx, 0xffffffff
je 0x4d4ca2
push 0x2210
call fcn.00596900
mov esi, eax
add esp, 4
mov dword [esp + 0x28], esi
cmp esi, ebp
mov dword [esp + 0x20], ebp
je 0x4d49b0
push 0x4d4ce0
push 0x4d4cc0
push 0x100
lea eax, [esi + 0x210]
push 0x20
push eax
call fcn.004f4f72
mov dword [esi], ebp
mov byte [esi + 0x108], 0
mov byte [esi + 4], 0
mov dword [esi + 0x20c], ebp
jmp 0x4d49b2
xor esi, esi
push ebx
mov dword [esp + 0x24], 0xffffffff
call fcn.004d47a0
add esp, 4
cmp eax, 0xffffffff
mov dword [esi + 0x20c], eax
jne 0x4d49f5
push ebx
call dword [sym.imp.kernel32.dll_CloseHandle]
cmp esi, ebp
je 0x4d4ca2
push 0x4d4ce0
push 0x100
lea ecx, [esi + 0x210]
push 0x20
push ecx
jmp 0x4d4c94
lea edx, [esi + 4]
push edi
mov edi, dword [sym.imp.kernel32.dll_lstrcpy]
push edx
call edi
lea eax, [esi + 0x108]
push 0x63df70
push eax
call edi
mov ecx, dword [esi + 0x20c]
shl ecx, 4
push ecx
call fcn.004f5323
mov edi, eax
add esp, 4
cmp edi, ebp
mov dword [esp + 0x28], edi
jne 0x4d4a3a
push ebx
call dword [sym.imp.kernel32.dll_CloseHandle]
cmp esi, ebp
jmp 0x4d4c7f
mov ecx, dword [esi + 0x20c]
lea eax, [esp + 0x10]
push ebp
push eax
shl ecx, 4
push ecx
push edi
push ebx
call dword [sym.imp.kernel32.dll_ReadFile]
test eax, eax
jne 0x4d4a64
push ebx
call dword [sym.imp.kernel32.dll_CloseHandle]
cmp esi, ebp
jmp 0x4d4c7f
mov eax, dword [esi + 0x20c]
mov edx, dword [esp + 0x10]
mov ecx, eax
shl ecx, 4
cmp edx, ecx
je 0x4d4a85
push ebx
call dword [sym.imp.kernel32.dll_CloseHandle]
cmp esi, ebp
jmp 0x4d4c7f
cmp eax, ebp
mov dword [esp + 0x14], ebp
jbe 0x4d4b2d
add edi, 8
lea ebp, [esi + 0x21c]
mov eax, dword [edi]
push eax
call fcn.004f5323
add esp, 4
mov dword [ebp], eax
test eax, eax
je 0x4d4b52
mov ecx, dword [edi]
push 0
mov dword [ebp + 4], ecx
mov edx, dword [edi + 4]
push 0
push edx
push ebx
call dword [sym.imp.kernel32.dll_SetFilePointer]
cmp eax, 0xffffffff
je 0x4d4ba0
mov ecx, dword [edi]
mov edx, dword [ebp]
lea eax, [esp + 0x10]
push 0
push eax
push ecx
push edx
push ebx
call dword [sym.imp.kernel32.dll_ReadFile]
test eax, eax
je 0x4d4bee
mov eax, dword [esp + 0x10]
mov ecx, dword [edi]
cmp eax, ecx
jne 0x4d4c3c
lea ecx, [ebp - 0xc]
push ecx
call fcn.004d48b0
add esp, 4
test eax, eax
je 0x4d4c69
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 0x20c]
inc eax
add edi, 0x10
add ebp, 0x20
cmp eax, ecx
mov dword [esp + 0x14], eax
jb 0x4d4a9a
mov edi, dword [esp + 0x28]
push edi
call fcn.004f5907
add esp, 4
push ebx
call dword [sym.imp.kernel32.dll_CloseHandle]
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 8]
mov dword fs:[0], ecx
add esp, 0x14
ret
push ebx
call dword [sym.imp.kernel32.dll_CloseHandle]
test esi, esi
je 0x4d4b7e
push 0x4d4ce0
push 0x100
lea edx, [esi + 0x210]
push 0x20
push edx
call fcn.004f4e7e
push esi
call fcn.00596929
add esp, 4
mov eax, dword [esp + 0x28]
push eax
call fcn.004f5907
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 8]
mov dword fs:[0], ecx
add esp, 0x14
ret
push ebx
call dword [sym.imp.kernel32.dll_CloseHandle]
test esi, esi
je 0x4d4bcc
push 0x4d4ce0
push 0x100
lea ecx, [esi + 0x210]
push 0x20
push ecx
call fcn.004f4e7e
push esi
call fcn.00596929
add esp, 4
mov edx, dword [esp + 0x28]
push edx
call fcn.004f5907
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 8]
mov dword fs:[0], ecx
add esp, 0x14
ret
push ebx
call dword [sym.imp.kernel32.dll_CloseHandle]
test esi, esi
je 0x4d4c1a
push 0x4d4ce0
push 0x100
lea eax, [esi + 0x210]
push 0x20
push eax
call fcn.004f4e7e
push esi
call fcn.00596929
add esp, 4
mov ecx, dword [esp + 0x28]
push ecx
call fcn.004f5907
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 8]
mov dword fs:[0], ecx
add esp, 0x14
ret
push ebx
call dword [sym.imp.kernel32.dll_CloseHandle]
mov edx, dword [esp + 0x28]
push edx
call fcn.004f5907
add esp, 4
test esi, esi
je 0x4d4ca2
push 0x4d4ce0
push 0x100
lea eax, [esi + 0x210]
push 0x20
push eax
jmp 0x4d4c94
push ebx
call dword [sym.imp.kernel32.dll_CloseHandle]
mov ecx, dword [esp + 0x28]
push ecx
call fcn.004f5907
add esp, 4
test esi, esi
je 0x4d4ca2
push 0x4d4ce0
push 0x100
lea edx, [esi + 0x210]
push 0x20
push edx
call fcn.004f4e7e
push esi
call fcn.00596929
add esp, 4
mov ecx, dword [esp + 0x18]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
mov dword fs:[0], ecx
add esp, 0x14
ret