Function at 0x41b348
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 0x41b60b
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.0041a574
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0xffffffff
je 0x41b5ef
xor edx, edx
push ebp
push 0x41b5e8
push dword fs:[edx]
mov dword fs:[edx], esp
push 0
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll_GetFileSize_1
mov ebx, eax
mov eax, ebx
call fcn.00402e3c
mov dword [ebp - 0xc], eax
xor edx, edx
push ebp
push 0x41b5ca
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_1
test eax, eax
je 0x41b5b4
cmp ebx, dword [ebp - 0x14]
jne 0x41b5b4
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.0041b248
test eax, eax
je 0x41b450
mov eax, dword [ebp - 0x18]
movzx eax, word [eax + 4]
push eax
lea eax, [ebp - 4]
mov ecx, 1
mov edx, dword [0x41b324]
call fcn.00405e80
add esp, 4
mov dword [ebp - 0x1c], 0x7fffffff
mov eax, dword [ebp - 4]
call fcn.00405ccc
mov esi, eax
test esi, esi
jl 0x41b457
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 0x41b44a
mov dword [ebp - 0x1c], eax
inc ebx
dec esi
jne 0x41b42a
jmp 0x41b457
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.0041b620
mov eax, dword [ebp - 0xc]
movzx eax, word [eax + 4]
imul eax, eax, 0xe
add eax, 6
call fcn.00402e3c
mov dword [ebp - 0x18], eax
xor eax, eax
push ebp
push 0x41b5ad
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xc]
mov ecx, 6
call fcn.00403038
mov eax, dword [ebp - 0xc]
movzx esi, word [eax + 4]
dec esi
test esi, esi
jl 0x41b56e
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.00403038
mov eax, dword [ebp - 4]
call fcn.00405cc4
cmp ebx, eax
jge 0x41b4fc
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 0x41b518
push ebp
lea eax, [ebp - 0x1c]
call fcn.0041b2d8
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.0041b060
test eax, eax
jne 0x41b566
call fcn.00404864
call fcn.00404864
call fcn.00404864
jmp 0x41b5ef
inc ebx
dec esi
jne 0x41b4af
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.0041b060
mov dword [ebp - 8], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x41b5b4
mov eax, dword [ebp - 0x18]
call fcn.00402e58
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x41b5d1
mov eax, dword [ebp - 0xc]
call fcn.00402e58
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x41b612
lea eax, [ebp - 4]
mov edx, dword [0x41b324]
call fcn.00405e8c
ret