Function at 0x4d0a7c
Capabilities:
Read file on windows
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x8a0
mov eax, dword [ebp + 8]
cmp dword [eax + 0x4f40], 0
je 0x4d0bbe
push 0x1f
push 0
lea ecx, [ebp - 0x30]
push ecx
call fcn.0054bf90
add esp, 0xc
push 0xd
push 0
lea edx, [ebp - 0x40]
push edx
call fcn.0054bf90
add esp, 0xc
mov byte [ebp - 0x30], 0x55
mov byte [ebp - 0x2f], 0x53
mov byte [ebp - 0x2e], 0x42
mov byte [ebp - 0x2d], 0x43
mov byte [ebp - 0x28], 8
mov byte [ebp - 0x24], 0x80
mov eax, dword [ebp + 8]
mov cl, byte [eax + 0x6cc4]
mov byte [ebp - 0x23], cl
mov byte [ebp - 0x22], 0xa
mov byte [ebp - 0x21], 0x25
mov byte [ebp - 0x2a], 0
mov byte [ebp - 0x29], 2
push 0
lea edx, [ebp - 0x10]
push edx
push 0x1f
lea eax, [ebp - 0x30]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x4fb0]
push edx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
jne 0x4d0b15
xor eax, eax
jmp 0x4d0d01
push 0
lea eax, [ebp - 0x10]
push eax
push 8
lea ecx, [ebp - 8]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x4fac]
push eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
jne 0x4d0b41
xor eax, eax
jmp 0x4d0d01
push 0
lea ecx, [ebp - 0x10]
push ecx
push 0xd
lea edx, [ebp - 0x40]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x4fac]
push ecx
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
jne 0x4d0b6d
xor eax, eax
jmp 0x4d0d01
mov edx, dword [ebp - 0x34]
and edx, 0xff
test edx, edx
je 0x4d0b81
xor eax, eax
jmp 0x4d0d01
mov eax, dword [ebp - 8]
and eax, 0xff
shl eax, 0x18
mov ecx, dword [ebp - 7]
and ecx, 0xff
shl ecx, 0x10
add eax, ecx
mov edx, dword [ebp - 6]
and edx, 0xff
shl edx, 8
add eax, edx
mov ecx, dword [ebp - 5]
and ecx, 0xff
add eax, ecx
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
jmp 0x4d0d01
push 0x850
push 0
lea edx, [ebp - 0x894]
push edx
call fcn.0054bf90
add esp, 0xc
mov word [ebp - 0x894], 0x2c
mov byte [ebp - 0x891], 0
mov byte [ebp - 0x890], 1
mov eax, dword [ebp + 8]
mov cl, byte [eax + 0x6cc4]
mov byte [ebp - 0x88f], cl
mov byte [ebp - 0x88e], 0x10
mov byte [ebp - 0x88d], 0
mov byte [ebp - 0x88c], 1
mov dword [ebp - 0x888], 8
mov dword [ebp - 0x884], 5
mov dword [ebp - 0x880], 0x50
mov dword [ebp - 0x87c], 0x30
mov byte [ebp - 0x878], 0x25
mov edx, dword [ebp - 0x888]
add edx, 0x50
mov dword [ebp - 0x89c], edx
mov dword [ebp - 0x898], 0
mov dword [ebp - 0x8a0], 0
mov eax, dword [ebp + 8]
cmp dword [eax + 0x4fbc], 0xffffffff
je 0x4d0cfb
push 0
lea ecx, [ebp - 0x898]
push ecx
mov edx, dword [ebp - 0x89c]
push edx
lea eax, [ebp - 0x894]
push eax
push 0x2c
lea ecx, [ebp - 0x894]
push ecx
push 0x4d004
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x4fbc]
push eax
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov dword [ebp - 0x8a0], eax
push 8
lea ecx, [ebp - 0x844]
push ecx
lea edx, [ebp - 8]
push edx
call fcn.0054c7e0
add esp, 0xc
mov eax, dword [ebp - 8]
and eax, 0xff
shl eax, 0x18
mov ecx, dword [ebp - 7]
and ecx, 0xff
shl ecx, 0x10
add eax, ecx
mov edx, dword [ebp - 6]
and edx, 0xff
shl edx, 8
add eax, edx
mov ecx, dword [ebp - 5]
and ecx, 0xff
add eax, ecx
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
jmp 0x4d0d01
mov eax, dword [ebp - 0x8a0]
mov esp, ebp
pop ebp
ret