Function at 0x1003b21
Capabilities:
Get common file path
Get file size
Read file via mapping

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x234
mov eax, dword [0x100a078]
push ebx
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push esi
mov dword [ebp - 0x224], eax
mov esi, 0x104
push esi
lea eax, [ebp - 0x20c]
xor ebx, ebx
push eax
mov dword [ebp - 0x214], ebx
mov dword [ebp - 0x210], ebx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
cmp eax, ebx
je 0x1003dc0
cmp eax, 0xfb
jae 0x1003dc0
sub esi, eax
push esi
lea eax, [ebp - 0x20c]
push 0x100176c
push eax
call fcn.0100552a
add esp, 0xc
push ebx
push 0x80
push 3
push ebx
push 1
push 0x80000000
lea eax, [ebp - 0x20c]
push eax
mov word [ebp - 6], bx
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
mov dword [ebp - 0x234], esi
je 0x1003dc0
push ebx
push ebx
push ebx
push 2
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_CreateFileMappingW]
cmp eax, ebx
mov dword [ebp - 0x228], eax
je 0x1003d8d
push ebx
push ebx
push ebx
push 4
push eax
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
cmp eax, ebx
mov dword [ebp - 0x230], eax
je 0x1003d8d
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov esi, eax
cmp esi, 0xffffffff
mov dword [ebp - 0x220], esi
je 0x1003d81
push edi
lea edi, [esi + esi]
lea eax, [edi + 2]
push eax
call fcn.01005673
cmp eax, ebx
pop ecx
mov dword [ebp - 0x214], eax
je 0x1003d80
lea eax, [esi + 1]
push eax
push dword [ebp - 0x214]
push esi
push dword [ebp - 0x230]
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test eax, eax
je 0x1003d80
mov eax, dword [ebp - 0x214]
mov word [edi + eax], bx
xor edi, edi
mov dword [ebp - 0x22c], ebx
call fcn.01002ea6
lea eax, [edi + 1]
mov dword [ebp - 0x210], eax
mov eax, dword [ebp - 0x214]
mov dword [ebp - 0x218], ebx
lea esi, [eax + edi*2]
mov ecx, dword [0x100a6c4]
push 2
push esi
call fcn.01008493
cmp word [esi], 0xd
jne 0x1003cc5
mov eax, dword [ebp - 0x210]
cmp eax, dword [ebp - 0x220]
jae 0x1003cc5
cmp word [esi + 2], 0xa
jne 0x1003cc5
inc dword [ebp - 0x218]
cmp dword [ebp - 0x218], 0xf
jne 0x1003cc5
mov ecx, dword [0x100a6c4]
inc edi
inc dword [ebp - 0x210]
inc esi
inc esi
push 2
push esi
call fcn.01008493
inc edi
inc dword [ebp - 0x210]
inc esi
inc esi
cmp dword [ebp - 0x218], 0xf
jae 0x1003cdf
cmp edi, dword [ebp - 0x220]
jb 0x1003c76
push 0x405
call fcn.010037be
cmp edi, dword [ebp - 0x220]
jae 0x1003cfd
push 0x406
call fcn.010037be
jmp 0x1003d19
mov ecx, dword [0x100a6c4]
push 4
push 0x1001764
mov dword [ebp - 0x22c], 1
call fcn.01008493
push dword [ebp - 0x224]
lea eax, [ebp - 0x21c]
push eax
call fcn.01002ecb
push dword [ebp - 0x224]
mov esi, eax
call fcn.01002be1
test eax, eax
jne 0x1003d7a
cmp esi, ebx
je 0x1003d7a
cmp dword [ebp - 0x21c], 0x1b
je 0x1003d7a
cmp dword [ebp - 0x21c], 0x20000
je 0x1003d6d
cmp dword [ebp - 0x21c], 0x180000
jne 0x1003d19
mov dword [ebp - 0x210], 1
jmp 0x1003d80
cmp dword [ebp - 0x22c], ebx
jne 0x1003d19
jmp 0x1003c59
mov dword [ebp - 0x210], ebx
pop edi
push dword [ebp - 0x230]
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
cmp dword [ebp - 0x228], 0xffffffff
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
je 0x1003da4
push dword [ebp - 0x228]
call esi
push dword [ebp - 0x234]
call esi
cmp dword [ebp - 0x214], ebx
je 0x1003dc0
push dword [ebp - 0x214]
call fcn.010055b3
pop ecx
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x210]
pop esi
pop ebx
call fcn.0100514a
leave
ret 4