Function at 0x4c9774
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
mov ecx, 5
push 0
push 0
dec ecx
jne 0x4c977c
push ecx
push ebx
push esi
push edi
xor eax, eax
push ebp
push 0x4c9b18
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 1], 0
push 0
push 0x80
push 3
push 0
push 1
push 0x80000000
lea eax, [ebp - 0x1c]
mov ecx, 0x4c9b34
mov edx, dword [0x4d0dc4]
call fcn.00404330
mov eax, dword [ebp - 0x1c]
call fcn.004044e4
push eax
call sub.KERNEL32.dll_CreateFileA
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jbe 0x4c9af0
xor eax, eax
push ebp
push 0x4c9ae9
push dword fs:[eax]
mov dword fs:[eax], esp
push 2
push 0
push 0xfffffe00
mov eax, dword [ebp - 0x10]
push eax
call sub.KERNEL32.dll_SetFilePointer
mov eax, 0x200
call fcn.004026e4
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x4c9acc
xor eax, eax
push ebp
push 0x4c9ac5
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
lea eax, [ebp - 0x18]
push eax
push 0x200
mov eax, dword [ebp - 0x14]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.KERNEL32.dll_ReadFile
lea eax, [ebp - 0x24]
mov edx, dword [ebp - 0x14]
call fcn.0040421c
mov eax, dword [ebp - 0x24]
lea edx, [ebp - 0x20]
call fcn.00408040
mov eax, dword [ebp - 0x20]
lea edx, [ebp - 8]
call fcn.0045ca00
mov edx, dword [ebp - 8]
mov eax, 0x4c9b48
call fcn.00404628
mov ecx, eax
lea eax, [ebp - 8]
mov edx, 1
call fcn.00404584
mov eax, dword [ebp - 8]
call fcn.004042e4
cmp eax, 5
jle 0x4c9aa9
xor eax, eax
push ebp
push 0x4c9a9b
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0xc]
push eax
mov edx, dword [ebp - 8]
mov eax, 0x4c9b48
call fcn.00404628
mov ecx, eax
dec ecx
xor edx, edx
mov eax, dword [ebp - 8]
call fcn.00404544
cmp dword [ebp - 0xc], 0
jne 0x4c98cc
mov ecx, 0x4c9b54
mov dl, 1
mov eax, dword [0x40713c]
call fcn.0040ba00
call fcn.00403a60
lea edx, [ebp - 0x28]
mov eax, dword [ebp - 0xc]
call fcn.0045ca84
mov eax, dword [ebp - 0x28]
push eax
mov ecx, 0x4c9b68
mov edx, 0x4c9b78
mov eax, dword [0x4d0dc8]
mov ebx, dword [eax]
call dword [ebx + 4]
mov edx, dword [ebp - 8]
mov eax, 0x4c9b48
call fcn.00404628
mov ecx, eax
lea eax, [ebp - 8]
mov edx, 1
call fcn.00404584
lea eax, [ebp - 0xc]
push eax
mov edx, dword [ebp - 8]
mov eax, 0x4c9b48
call fcn.00404628
mov ecx, eax
dec ecx
xor edx, edx
mov eax, dword [ebp - 8]
call fcn.00404544
cmp dword [ebp - 0xc], 0
jne 0x4c9945
mov ecx, 0x4c9b88
mov dl, 1
mov eax, dword [0x40713c]
call fcn.0040ba00
call fcn.00403a60
mov edx, 0x7d0
mov eax, dword [ebp - 0xc]
call fcn.004082b8
push eax
mov ecx, 0x4c9b9c
mov edx, 0x4c9b78
mov eax, dword [0x4d0dc8]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 8]
mov eax, 0x4c9b48
call fcn.00404628
mov ecx, eax
lea eax, [ebp - 8]
mov edx, 1
call fcn.00404584
lea eax, [ebp - 0xc]
push eax
mov edx, dword [ebp - 8]
mov eax, 0x4c9b48
call fcn.00404628
mov ecx, eax
dec ecx
xor edx, edx
mov eax, dword [ebp - 8]
call fcn.00404544
cmp dword [ebp - 0xc], 0
jne 0x4c99bd
mov ecx, 0x4c9bac
mov dl, 1
mov eax, dword [0x40713c]
call fcn.0040ba00
call fcn.00403a60
lea edx, [ebp - 0x2c]
mov eax, dword [ebp - 0xc]
call fcn.0045ca84
mov eax, dword [ebp - 0x2c]
push eax
mov ecx, 0x4c9bc0
mov edx, 0x4c9b78
mov eax, dword [0x4d0dc8]
mov ebx, dword [eax]
call dword [ebx + 4]
mov edx, dword [ebp - 8]
mov eax, 0x4c9b48
call fcn.00404628
mov ecx, eax
lea eax, [ebp - 8]
mov edx, 1
call fcn.00404584
mov edx, dword [ebp - 8]
mov eax, 0x4c9b48
call fcn.00404628
mov ecx, eax
lea eax, [ebp - 8]
mov edx, 1
call fcn.00404584
lea eax, [ebp - 0xc]
push eax
mov edx, dword [ebp - 8]
mov eax, 0x4c9b48
call fcn.00404628
mov ecx, eax
dec ecx
xor edx, edx
mov eax, dword [ebp - 8]
call fcn.00404544
cmp dword [ebp - 0xc], 0
jne 0x4c9a52
mov ecx, 0x4c9bd4
mov dl, 1
mov eax, dword [0x40713c]
call fcn.0040ba00
call fcn.00403a60
xor edx, edx
mov eax, dword [ebp - 0xc]
call fcn.004082b8
push eax
mov ecx, 0x4c9bec
mov edx, 0x4c9b78
mov eax, dword [0x4d0dc8]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 8]
mov eax, 0x4c9b48
call fcn.00404628
mov ecx, eax
lea eax, [ebp - 8]
mov edx, 1
call fcn.00404584
mov byte [ebp - 1], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c9aa9
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4c9acc
cmp dword [ebp - 0x14], 0
je 0x4c9ac4
mov eax, dword [ebp - 0x14]
call fcn.00402704
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4c9af0
cmp dword [ebp - 0x10], 0
jbe 0x4c9ae8
mov eax, dword [ebp - 0x10]
push eax
call sub.KERNEL32.dll_CloseHandle
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4c9b1f
lea eax, [ebp - 0x2c]
mov edx, 5
call fcn.00404048
lea eax, [ebp - 0xc]
mov edx, 2
call fcn.00404048
ret