Function at 0x41bc69
Capabilities:
Get file size
Read file via mapping

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x13b0
call fcn.00612c90
mov eax, dword [0x6ffe74]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x13a4], ecx
push ebx
push ebx
push 3
push ebx
push 1
push SysReAllocString
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov edi, eax
mov dword [ebp - 0x13ac], edi
cmp edi, 0xffffffff
jne 0x41bcb6
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x41bd02
push ebx
push ebx
push ebx
push 2
push ebx
push edi
call dword [sym.imp.KERNEL32.dll_CreateFileMappingA]
mov esi, eax
mov dword [ebp - 0x13b0], esi
test esi, esi
jne 0x41bcde
call dword [sym.imp.KERNEL32.dll_GetLastError]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x41bd02
push ebx
push ebx
push ebx
push 4
push esi
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov ebx, eax
test ebx, ebx
jne 0x41bd15
call dword [sym.imp.KERNEL32.dll_GetLastError]
push esi
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call esi
push edi
call esi
xor eax, eax
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.006122f0
leave
ret 4
and dword [ebp - 0x139c], 0
lea eax, [ebp - 0x139c]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
cmp dword [ebp - 0x139c], 0
mov dword [ebp - 0x1398], eax
jne 0x41bcf6
mov ecx, dword [ebx + 0x10]
and dword [ebp - 0x13a0], 0
mov dword [ebp - 0x13a8], ecx
lea eax, [ecx - 1]
cmp eax, 0x3e7
ja 0x41bcf6
test ecx, ecx
je 0x41befa
mov edi, dword [ebp - 0x1398]
lea esi, [ebx + 0x14]
xor eax, eax
mov byte [ebp - 0xbc4], al
mov byte [ebp - 0xfac], al
mov byte [ebp - 0x1394], al
mov eax, dword [esi]
mov dword [ebp - 0x1398], eax
cmp eax, 0x3e8
ja 0x41beee
push eax
lea eax, [esi + 4]
xor ecx, ecx
push eax
lea eax, [ebp - 0x7dc]
mov word [ebp - 0x7dc], cx
push 0x3e8
push eax
call fcn.00651f84
add esp, 0x10
lea eax, [ebp - 0x1394]
xor ecx, ecx
push ecx
push ecx
push 0x3e8
push eax
push 0xffffffffffffffff
lea eax, [ebp - 0x7dc]
push eax
push ecx
push ecx
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov eax, dword [ebp - 0x1398]
mov edx, 0x3e8
lea esi, [esi + eax*2]
lea esi, [esi + 4]
mov eax, dword [esi]
mov dword [ebp - 0x1398], eax
cmp eax, edx
ja 0x41beee
push eax
lea eax, [esi + 4]
xor ecx, ecx
push eax
push edx
lea eax, [ebp - 0x7dc]
mov word [ebp - 0x7dc], cx
push eax
call fcn.00651f84
add esp, 0x10
lea eax, [ebp - 0xbc4]
xor ecx, ecx
push ecx
push ecx
push 0x3e8
push eax
push 0xffffffffffffffff
lea eax, [ebp - 0x7dc]
push eax
push ecx
push ecx
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov eax, dword [ebp - 0x1398]
mov edx, 0x3e8
lea esi, [esi + eax*2]
lea esi, [esi + 4]
mov eax, dword [esi]
mov dword [ebp - 0x1398], eax
cmp eax, edx
ja 0x41beee
push eax
lea eax, [esi + 4]
xor ecx, ecx
push eax
push edx
lea eax, [ebp - 0x7dc]
mov word [ebp - 0x7dc], cx
push eax
call fcn.00651f84
add esp, 0x10
lea eax, [ebp - 0xfac]
xor ecx, ecx
push ecx
push ecx
push 0x3e8
push eax
push 0xffffffffffffffff
lea eax, [ebp - 0x7dc]
push eax
push ecx
push ecx
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
push 0xffffffffffffffff
mov ecx, 0x6c5bb9
lea eax, [ebp - 0xbc4]
push ecx
push eax
lea eax, [ebp - 0xfac]
push eax
lea eax, [ebp - 0x1394]
push eax
push ecx
mov ecx, dword [ebp - 0x13a4]
push 0x85
push 5
call fcn.0043ee6b
mov eax, dword [ebp - 0x1398]
lea esi, [esi + eax*2]
mov eax, edi
add esi, 0x18
sub eax, esi
add eax, ebx
cmp eax, 0xc
jb 0x41beee
mov edx, dword [ebp - 0x13a0]
inc edx
mov dword [ebp - 0x13a0], edx
cmp edx, dword [ebp - 0x13a8]
jb 0x41bd64
mov edi, dword [ebp - 0x13ac]
mov esi, dword [ebp - 0x13b0]
push ebx
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
push esi
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call esi
push edi
call esi
xor eax, eax
inc eax
jmp 0x41bd04