Function at 0x4c5cb8
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffd8
mov eax, dword [0x6e7380]
test eax, eax
je 0x4c5d0a
push dword [0x6e7384]
push dword [ebp + 0x14]
mov edx, dword [0x76ed2c]
test edx, edx
jns 0x4c5ce0
add edx, 0x7ff
sar edx, 0xb
mov ecx, dword [ebp + 0xc]
add edx, ecx
push edx
push dword [ebp + 0x10]
call fcn.0046eed8
add esp, 0x10
test eax, eax
je 0x4c5d03
mov eax, dword [ebp + 0x14]
shl eax, 0xb
jmp 0x4c5f27
xor eax, eax
jmp 0x4c5f27
mov edx, dword [0x76ed1c]
test edx, edx
je 0x4c5d30
push dword [0x7d80f4]
push dword [ebp + 0x14]
push dword [ebp + 0xc]
push dword [ebp + 0x10]
call fcn.0050c2bc
add esp, 0x10
jmp 0x4c5f27
mov ecx, dword [0x76ed20]
test ecx, ecx
je 0x4c5d55
push 0xa2ddcc
push dword [ebp + 0x14]
push dword [ebp + 0xc]
push dword [ebp + 0x10]
call fcn.00556464
add esp, 0x10
jmp 0x4c5f27
mov eax, dword [0xa74704]
test eax, eax
je 0x4c5d79
push 0xa2ddcc
push dword [ebp + 0x14]
push dword [ebp + 0xc]
push dword [ebp + 0x10]
call fcn.00558284
add esp, 0x10
jmp 0x4c5f27
mov edx, dword [0xa74708]
test edx, edx
je 0x4c5d9e
push 0xa2ddcc
push dword [ebp + 0x14]
push dword [ebp + 0xc]
push dword [ebp + 0x10]
call fcn.00558bf8
add esp, 0x10
jmp 0x4c5f27
mov ecx, dword [0x76ed0c]
test ecx, ecx
je 0x4c5dc1
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.004c5a7c
add esp, 0x10
jmp 0x4c5f27
mov eax, dword [ebp + 0xc]
cdq
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edx
mov eax, dword [0x76ed24]
cdq
push edx
push eax
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
call fcn.006744e4
push edx
push eax
mov eax, dword [0x76ed2c]
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], edx
push 0
lea ecx, [ebp - 8]
push ecx
push dword [ebp - 0xc]
push dword [ebp + 8]
call sub.KERNEL32.DLL_SetFilePointer
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
cmp eax, 0xffffffff
jne 0x4c5e22
call sub.KERNEL32.DLL_GetLastError
test eax, eax
je 0x4c5e22
xor eax, eax
jmp 0x4c5f27
mov edx, dword [ebp + 0x14]
imul edx, dword [0x76ed24]
mov dword [ebp - 0x14], edx
mov ecx, dword [0x76ed24]
cmp ecx, 0x800
jne 0x4c5e66
push 0
lea eax, [ebp - 0x18]
push eax
push dword [ebp - 0x14]
push dword [ebp + 0x10]
push dword [ebp + 8]
call sub.KERNEL32.DLL_ReadFile
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
cmp edx, ecx
je 0x4c5f21
xor eax, eax
jmp 0x4c5f27
push dword [ebp - 0x14]
call fcn.0066c210
pop ecx
mov dword [ebp - 0x24], eax
mov edx, dword [ebp - 0x24]
test edx, edx
jne 0x4c5e9a
push 0x59fa
call fcn.00402a64
pop ecx
push eax
push dword [0x75f650]
call fcn.0046279c
add esp, 8
xor eax, eax
jmp 0x4c5f27
push 0
lea edx, [ebp - 0x18]
push edx
push dword [ebp - 0x14]
push dword [ebp - 0x24]
push dword [ebp + 8]
call sub.KERNEL32.DLL_ReadFile
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
je 0x4c5ec5
push dword [ebp - 0x24]
call fcn.0066c220
pop ecx
xor eax, eax
jmp 0x4c5f27
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x28], edx
xor ecx, ecx
mov dword [ebp - 4], ecx
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 0x14]
cmp eax, edx
jge 0x4c5f18
push 0x800
mov ecx, dword [ebp - 4]
imul ecx, dword [0x76ed24]
mov eax, dword [ebp - 0x24]
add ecx, eax
mov edx, dword [0x76ed28]
add ecx, edx
push ecx
mov ecx, dword [ebp - 4]
shl ecx, 0xb
mov eax, dword [ebp - 0x28]
add ecx, eax
push ecx
call fcn.0066c7fc
add esp, 0xc
inc dword [ebp - 4]
mov edx, dword [ebp - 4]
mov ecx, dword [ebp + 0x14]
cmp edx, ecx
jl 0x4c5eda
push dword [ebp - 0x24]
call fcn.0066c220
pop ecx
mov eax, dword [ebp + 0x14]
shl eax, 0xb
mov esp, ebp
pop ebp
ret