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

Disassembly:
push 0x2c4
mov eax, 0x1027f601
call fcn.100e6a39
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 0x100c320f
test ebx, ebx
je 0x100c317b
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 0x100c31b2
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x94]
call sym.nsDui.dll_public:_void___thiscall_DuiLib::CDuiString::destructor_void_
jmp 0x100c32e5
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov esi, eax
test esi, esi
je 0x100c319e
push esi
mov dword [ebp - 0x2cc], edi
call fcn.100e641b
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 0x100c32d0
push edi
call fcn.100e63c6
pop ecx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x94]
call sym.nsDui.dll_public:_void___thiscall_DuiLib::CDuiString::destructor_void_
jmp 0x100c32e3
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 0x100c322c
mov ebx, dword [sym.nsDui.dll_void__DuiLib::CPaintManagerUI::m_hResourceZip]
jmp 0x100c323e
mov ecx, dword [ebp - 0x94]
xor edx, edx
push 2
call fcn.100a5e80
pop ecx
mov ebx, eax
test ebx, ebx
je 0x100c319e
mov edx, dword [ebp - 0x2c8]
lea eax, [ebp - 0x2c4]
push eax
lea eax, [ebp - 0x2cc]
push eax
push ecx
mov ecx, ebx
call fcn.100a5ee5
add esp, 0xc
test eax, eax
jne 0x100c319e
mov esi, dword [ebp - 0x98]
test esi, esi
je 0x100c319e
push esi
call fcn.100e641b
mov edx, dword [ebp - 0x2cc]
mov edi, eax
push esi
push edi
mov ecx, ebx
call fcn.100a5fe5
add esp, 0xc
test eax, eax
je 0x100c32c0
cmp eax, 0x600
je 0x100c32c0
push edi
call fcn.100e63c6
cmp byte [sym.nsDui.dll_bool_DuiLib::CPaintManagerUI::m_bCachedResourceZip], 0
pop ecx
jne 0x100c31fb
mov ecx, ebx
call fcn.100a6018
jmp 0x100c31fb
cmp byte [sym.nsDui.dll_bool_DuiLib::CPaintManagerUI::m_bCachedResourceZip], 0
jne 0x100c32d0
mov ecx, ebx
call fcn.100a6018
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x94]
call sym.nsDui.dll_public:_void___thiscall_DuiLib::CDuiString::destructor_void_
test edi, edi
jne 0x100c3357
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 0x100c3353
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov esi, eax
test esi, esi
je 0x100c3353
push esi
mov dword [ebp - 0x2c8], edi
call fcn.100e641b
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 0x100c334f
push edi
call fcn.100e63c6
pop ecx
xor edi, edi
test edi, edi
jne 0x100c3357
xor eax, eax
jmp 0x100c3372
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.100e5e2f
pop ecx
pop ecx
mov eax, esi
call fcn.100e69f4
ret 4