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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
push ebx
push esi
push edi
lea ecx, [ebp - 8]
call dword [sym.imp.Ngs3.dll_public:_void___thiscall_C2bString::constructor_void_]
mov ebx, dword [ebp + 8]
lea eax, [ebx + 0x250]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x30], eax
lea eax, [ebx + 0x254]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x2c], eax
lea eax, [ebx + 0x258]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x28], eax
call dword [sym.imp.Ngs3.dll_public:_static_class_CFontManager____cdecl_CFontManager::GetGlobalManager_void_]
mov ecx, eax
mov dword [ebp - 0x1c], eax
call dword [sym.imp.Ngs3.dll_public:_bool___thiscall_CFontManager::IsLarge_void_const]
xor ecx, ecx
test al, al
setne cl
mov dword [ebp - 4], 0
mov eax, ecx
lea edx, [eax + eax*2]
lea eax, [edx*4 + 0x41ffd4]
mov dword [ebp - 0xc], eax
jmp 0x4152f0
mov esi, dword [ebp - 4]
mov ecx, dword [ebx + 0x274]
add esi, esi
add esi, esi
mov edx, dword [ecx + esi]
push edx
lea eax, [ebp - 8]
push 5
push eax
call dword [sym.imp.Ngs3.dll_ngsGetPath]
mov ecx, dword [ebp - 8]
add esp, 0xc
push 0
push 0x80
push 3
push 0
push 3
push 0x80000000
push ecx
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov edi, eax
cmp edi, 0xffffffff
je 0x415429
test edi, edi
je 0x415429
cmp dword [ebp - 4], 0
jne 0x4153ea
push 0
push edi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov edx, dword [ebp - 0x30]
mov esi, eax
mov eax, dword [edx]
push esi
test eax, eax
je 0x41536f
push eax
mov eax, dword [0x425630]
push 0
push eax
call dword [sym.imp.KERNEL32.dll_HeapReAlloc]
jmp 0x41537e
mov ecx, dword [0x425630]
push 0
push ecx
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov edx, dword [ebp - 0x30]
push 0
lea ecx, [ebp - 0x20]
push ecx
push esi
push eax
push edi
mov dword [edx], eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
cmp eax, 3
jl 0x4152f0
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
mov esi, dword [ebp - 0x1c]
push edx
mov edx, dword [ebp - 0x18]
mov eax, dword [edx]
push ecx
push eax
mov ecx, esi
call dword [sym.imp.Ngs3.dll_public:_class_CHanEngFont____thiscall_CFontManager::GetHanEngFont_void_]
mov ecx, eax
call dword [sym.imp.Ngs3.dll_public:_void___thiscall_CHanEngFont::SetFonts_void_const___void_const___void_const__]
push 5
mov ecx, esi
call dword [sym.imp.Ngs3.dll_public:_void___thiscall_CFontManager::NotifyChange_int_const]
lea ecx, [ebp - 8]
call dword [sym.imp.Ngs3.dll_public:_void___thiscall_C2bString::destructor_void_]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ebx, dword [ebp + esi - 0x30]
cmp dword [ebx], 0
jne 0x41540a
mov edx, dword [ebp - 0xc]
mov eax, dword [esi + edx]
push eax
mov eax, dword [0x425630]
push 0
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov dword [ebx], eax
mov edx, dword [ebp - 0xc]
mov eax, dword [esi + edx]
push 0
lea ecx, [ebp - 0x24]
push ecx
mov ecx, dword [ebx]
push eax
push ecx
push edi
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov ebx, dword [ebp + 8]
jmp 0x415392
mov edi, dword [ebp + esi - 0x30]
mov edx, dword [edi]
mov eax, dword [0x425630]
push edx
push 0
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov dword [edi], 0
mov ecx, dword [ebx + 0x274]
push 0x42021c
add ecx, esi
call dword [sym.imp.Ngs3.dll_public:_class_C2bString_const____thiscall_C2bString::operator_wchar_t_const__]
jmp 0x415399