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

Disassembly:
push 0x3d8
mov eax, 0x1007720e
call fcn.10058b1f
mov dword [ebp - 0x3e0], ecx
mov eax, dword [ebp + 8]
xor edi, edi
mov dword [ebp - 0x3d4], eax
xor esi, esi
call fcn.10009bdf
push eax
lea ecx, [ebp - 0x94]
call fcn.1000f3bb
and dword [ebp - 4], esi
call fcn.10009beb
mov ebx, eax
mov ecx, eax
call fcn.1000fbcb
lea ecx, [ebp - 0x94]
test al, al
je 0x10008cae
push dword [ebp - 0x3d4]
call fcn.1000f641
push esi
push 0x80
push 3
push esi
push 1
push SysReAllocString
lea ecx, [ebp - 0x94]
call fcn.1000f5ea
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
or ebx, 0xffffffff
mov dword [ebp - 0x3d0], eax
cmp eax, ebx
jne 0x10008c55
lea ecx, [ebp - 0x94]
mov dword [ebp - 4], ebx
call fcn.1000f4e2
jmp 0x10008e3c
push 0
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov esi, eax
test esi, esi
je 0x10008c42
and dword [ebp - 0x3d8], 0
push esi
call fcn.10058568
pop ecx
push 0
mov edi, eax
lea eax, [ebp - 0x3d8]
push eax
push esi
push edi
push dword [ebp - 0x3d0]
call dword [sym.imp.KERNEL32.dll_ReadFile]
push dword [ebp - 0x3d0]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x3d8], esi
je 0x10008e2a
push edi
call fcn.1005801c
pop ecx
xor edi, edi
jmp 0x10008c42
push ebx
call fcn.1000f624
call fcn.10009e54
test al, al
je 0x10008ccc
call fcn.10009bf1
mov ebx, eax
mov dword [ebp - 0x3d0], ebx
jmp 0x10008d38
call fcn.10009bf7
push eax
lea ecx, [ebp - 0x19c]
call fcn.1000f3bb
push 0
lea ecx, [ebp - 0x19c]
mov byte [ebp - 4], 1
call fcn.1000f5ea
push eax
call fcn.1000ec42
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x94]
mov dword [ebp - 0x3d8], eax
call fcn.1000f5ea
push eax
call fcn.10013900
mov ebx, eax
mov eax, dword [ebp - 0x3d8]
mov dword [ebp - 0x3d0], ebx
pop ecx
pop ecx
test eax, eax
je 0x10008d29
push eax
call fcn.1005801c
pop ecx
lea ecx, [ebp - 0x19c]
mov byte [ebp - 4], 0
call fcn.1000f4e2
test ebx, ebx
jne 0x10008d44
or ebx, 0xffffffff
jmp 0x10008c42
and dword [ebp - 0x3dc], 0
lea ecx, [ebp - 0x118]
or ebx, 0xffffffff
push ebx
push dword [ebp - 0x3d4]
call fcn.1000f3e0
push 0x1007b89c
push 0x1007b8a0
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 2
call fcn.1000fd89
lea eax, [ebp - 0x3cc]
push eax
lea eax, [ebp - 0x3dc]
push eax
push 1
lea ecx, [ebp - 0x118]
call fcn.1000f5ea
push eax
push dword [ebp - 0x3d0]
call fcn.100132ce
add esp, 0x14
test eax, eax
je 0x10008db7
lea ecx, [ebp - 0x118]
call fcn.1000f4e2
jmp 0x10008c42
mov esi, dword [ebp - 0x1a0]
test esi, esi
je 0x10008da7
push esi
call fcn.10058568
push esi
mov edi, eax
push edi
push dword [ebp - 0x3dc]
push dword [ebp - 0x3d0]
call fcn.10013d52
add esp, 0x14
test eax, eax
je 0x10008e0a
cmp eax, 0x600
je 0x10008e0a
push edi
call fcn.1005801c
pop ecx
xor edi, edi
call fcn.10009e54
test al, al
jne 0x10008da7
push dword [ebp - 0x3d0]
call fcn.100130b3
pop ecx
jmp 0x10008da7
call fcn.10009e54
test al, al
jne 0x10008e1f
push dword [ebp - 0x3d0]
call fcn.100130b3
pop ecx
lea ecx, [ebp - 0x118]
call fcn.1000f4e2
lea ecx, [ebp - 0x94]
mov dword [ebp - 4], ebx
call fcn.1000f4e2
test edi, edi
jne 0x10008eb2
push 0
push 0x80
push 3
push 0
push 1
push SysReAllocString
push dword [ebp - 0x3d4]
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x3d4], eax
cmp eax, ebx
je 0x10008eb2
xor ebx, ebx
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov esi, eax
test esi, esi
je 0x10008eb2
push esi
mov dword [ebp - 0x3d0], ebx
call fcn.10058568
pop ecx
push ebx
mov ebx, dword [ebp - 0x3d4]
mov edi, eax
lea eax, [ebp - 0x3d0]
push eax
push esi
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x3d0], esi
je 0x10008eb2
push edi
call fcn.1005801c
pop ecx
xor edi, edi
lea eax, [ebp - 0x3e4]
push eax
push 0
push esi
push edi
call dword [sym.imp.GDI32.dll_AddFontMemResourceEx]
push edi
mov esi, eax
call fcn.1005801c
pop ecx
mov ecx, dword [ebp - 0x3e0]
push esi
add ecx, 0x508
call fcn.1000f680
call fcn.10058add
ret 4