Function at 0x4bfba4
Capabilities:
Get file size
Read file on windows

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffe4
push ebx
push esi
push edi
xor eax, eax
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x4bfe67
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebp - 8], eax
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp + 0x14]
call fcn.004bea2c
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0xffffffff
je 0x4bfe4b
xor edx, edx
push ebp
push 0x4bfe44
push dword fs:[edx]
mov dword fs:[edx], esp
push 0
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll_GetFileSize
mov ebx, eax
mov eax, ebx
call fcn.00404350
mov dword [ebp - 0xc], eax
xor edx, edx
push ebp
push 0x4bfe26
push dword fs:[edx]
mov dword fs:[edx], esp
push 0
lea eax, [ebp - 0x14]
push eax
push ebx
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll_ReadFile
test eax, eax
je 0x4bfe10
cmp ebx, dword [ebp - 0x14]
jne 0x4bfe10
lea eax, [ebp - 0x18]
push eax
movzx eax, word [ebp + 0x10]
push eax
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.004bfb0c
test eax, eax
je 0x4bfcac
mov eax, dword [ebp - 0x18]
movzx eax, word [eax + 4]
push eax
lea eax, [ebp - 4]
mov ecx, 1
mov edx, dword [0x4bfb34]
call fcn.00408310
add esp, 4
mov dword [ebp - 0x1c], 0x7fffffff
mov eax, dword [ebp - 4]
call fcn.00408150
mov esi, eax
test esi, esi
jl 0x4bfcb3
inc esi
xor ebx, ebx
mov eax, ebx
add eax, eax
add eax, eax
add eax, eax
sub eax, ebx
mov edx, dword [ebp - 0x18]
movzx eax, word [edx + eax*2 + 0x12]
mov edx, dword [ebp - 4]
mov dword [edx + ebx*4], eax
cmp eax, dword [ebp - 0x1c]
jge 0x4bfca6
mov dword [ebp - 0x1c], eax
inc ebx
dec esi
jne 0x4bfc86
jmp 0x4bfcb3
mov dword [ebp - 0x1c], 0x32
movzx eax, word [ebp + 0x10]
push eax
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.004bfe7c
mov eax, dword [ebp - 0xc]
movzx eax, word [eax + 4]
imul eax, eax, 0xe
add eax, 6
call fcn.00404350
mov dword [ebp - 0x18], eax
xor eax, eax
push ebp
push 0x4bfe09
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xc]
mov ecx, 6
call fcn.0040451c
mov eax, dword [ebp - 0xc]
movzx esi, word [eax + 4]
dec esi
test esi, esi
jl 0x4bfdca
inc esi
xor ebx, ebx
mov eax, ebx
add eax, eax
add eax, eax
add eax, eax
sub eax, ebx
mov edx, dword [ebp - 0x18]
lea edx, [edx + eax*2 + 6]
mov edi, ebx
add edi, edi
mov eax, dword [ebp - 0xc]
lea eax, [eax + edi*8 + 6]
mov ecx, 0xe
call fcn.0040451c
mov eax, dword [ebp - 4]
call fcn.00408148
cmp ebx, eax
jge 0x4bfd58
mov eax, dword [ebp - 4]
movzx eax, word [eax + ebx*4]
mov edx, ebx
add edx, edx
add edx, edx
add edx, edx
sub edx, ebx
mov ecx, dword [ebp - 0x18]
mov word [ecx + edx*2 + 0x12], ax
jmp 0x4bfd74
push ebp
lea eax, [ebp - 0x1c]
call fcn.004bfb5c
pop ecx
mov edx, ebx
add edx, edx
add edx, edx
add edx, edx
sub edx, ebx
mov ecx, dword [ebp - 0x18]
mov word [ecx + edx*2 + 0x12], ax
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + edi*8 + 0xe]
push eax
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + edi*8 + 0x12]
add eax, dword [ebp - 0xc]
push eax
movzx eax, word [ebp + 0x10]
push eax
mov eax, ebx
add eax, eax
add eax, eax
add eax, eax
sub eax, ebx
mov edx, dword [ebp - 0x18]
movzx eax, word [edx + eax*2 + 0x12]
push eax
push 3
mov eax, dword [ebp + 8]
push eax
call fcn.004bf920
test eax, eax
jne 0x4bfdc2
call fcn.004060d8
call fcn.004060d8
call fcn.004060d8
jmp 0x4bfe4b
inc ebx
dec esi
jne 0x4bfd0b
mov eax, dword [ebp - 0x18]
movzx eax, word [eax + 4]
imul eax, eax, 0xe
add eax, 6
push eax
mov eax, dword [ebp - 0x18]
push eax
movzx eax, word [ebp + 0x10]
push eax
mov eax, dword [ebp + 0xc]
push eax
push 0xe
mov eax, dword [ebp + 8]
push eax
call fcn.004bf920
mov dword [ebp - 8], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4bfe10
mov eax, dword [ebp - 0x18]
call fcn.0040436c
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4bfe2d
mov eax, dword [ebp - 0xc]
call fcn.0040436c
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4bfe6e
lea eax, [ebp - 4]
mov edx, dword [0x4bfb34]
call fcn.0040831c
ret