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

Disassembly:
push 0x2c4
mov eax, 0x1029bc81
call fcn.1010062a
mov dword [ebp - 0x2d0], ecx
mov ebx, dword [ebp + 8]
lea ecx, [ebp - 0x94]
push sym.nsDui.dll_class_DuiLib::CDuiString_DuiLib::CPaintManagerUI::m_pStrResourcePath
mov dword [ebp - 0x2c8], ebx
call sym.nsDui.dll_public:_void___thiscall_DuiLib::CDuiString::constructor_class_DuiLib::CDuiString_const__
xor edi, edi
mov dword [ebp - 4], edi
mov eax, dword [sym.nsDui.dll_class_DuiLib::CDuiString_DuiLib::CPaintManagerUI::m_pStrResourceZip]
cmp word [eax], di
jne 0x100c86af
test ebx, ebx
je 0x100c861b
push ebx
lea ecx, [ebp - 0x94]
call sym.nsDui.dll_public:_void___thiscall_DuiLib::CDuiString::Append_wchar_t_const__
push edi
push 0x80
push 3
push edi
push 1
push accept
push dword [ebp - 0x94]
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x100c8652
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x94]
call sym.nsDui.dll_public:_void___thiscall_DuiLib::CDuiString::destructor_void_
jmp 0x100c8785
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov esi, eax
test esi, esi
je 0x100c863e
push esi
mov dword [ebp - 0x2cc], edi
call fcn.10100009
pop ecx
push 0
mov edi, eax
lea eax, [ebp - 0x2cc]
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 - 0x2cc], esi
je 0x100c8770
push edi
call fcn.100ff9f0
pop ecx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x94]
call sym.nsDui.dll_public:_void___thiscall_DuiLib::CDuiString::destructor_void_
jmp 0x100c8783
push eax
lea ecx, [ebp - 0x94]
call sym.nsDui.dll_public:_void___thiscall_DuiLib::CDuiString::Append_wchar_t_const__
cmp byte [sym.nsDui.dll_bool_DuiLib::CPaintManagerUI::m_bCachedResourceZip], 0
je 0x100c86cc
mov ebx, dword [sym.nsDui.dll_void__DuiLib::CPaintManagerUI::m_hResourceZip]
jmp 0x100c86de
mov ecx, dword [ebp - 0x94]
xor edx, edx
push 2
call fcn.100ab32b
pop ecx
mov ebx, eax
test ebx, ebx
je 0x100c863e
mov edx, dword [ebp - 0x2c8]
lea eax, [ebp - 0x2c4]
push eax
lea eax, [ebp - 0x2cc]
push eax
push ecx
mov ecx, ebx
call fcn.100ab390
add esp, 0xc
test eax, eax
jne 0x100c863e
mov esi, dword [ebp - 0x98]
test esi, esi
je 0x100c863e
push esi
call fcn.10100009
mov edx, dword [ebp - 0x2cc]
mov edi, eax
push esi
push edi
mov ecx, ebx
call fcn.100ab490
add esp, 0xc
test eax, eax
je 0x100c8760
cmp eax, 0x600
je 0x100c8760
push edi
call fcn.100ff9f0
cmp byte [sym.nsDui.dll_bool_DuiLib::CPaintManagerUI::m_bCachedResourceZip], 0
pop ecx
jne 0x100c869b
mov ecx, ebx
call fcn.100ab4c3
jmp 0x100c869b
cmp byte [sym.nsDui.dll_bool_DuiLib::CPaintManagerUI::m_bCachedResourceZip], 0
jne 0x100c8770
mov ecx, ebx
call fcn.100ab4c3
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x94]
call sym.nsDui.dll_public:_void___thiscall_DuiLib::CDuiString::destructor_void_
test edi, edi
jne 0x100c87f7
xor edi, edi
push edi
push 0x80
push 3
push edi
push 1
push accept
push dword [ebp - 0x2c8]
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ebx, eax
cmp ebx, 0xffffffff
je 0x100c87f3
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov esi, eax
test esi, esi
je 0x100c87f3
push esi
mov dword [ebp - 0x2c8], edi
call fcn.10100009
pop ecx
push 0
mov edi, eax
lea eax, [ebp - 0x2c8]
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 - 0x2c8], esi
je 0x100c87ef
push edi
call fcn.100ff9f0
pop ecx
xor edi, edi
test edi, edi
jne 0x100c87f7
xor eax, eax
jmp 0x100c8812
mov ecx, dword [ebp - 0x2d0]
push esi
push edi
call sym.nsDui.dll_private:_class_Gdiplus::Image____thiscall_DuiLib::CCircleButtonUI::LoadFromMemory_void___unsigned_int_
push 1
push edi
mov esi, eax
call fcn.100fffd8
pop ecx
pop ecx
mov eax, esi
call fcn.101005d4
ret 4