Function at 0x100bddae
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 0x100bde93
test ebx, ebx
je 0x100bddff
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 0x100bde36
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x94]
call sym.nsDui.dll_public:_void___thiscall_DuiLib::CDuiString::destructor_void_
jmp 0x100bdf69
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov esi, eax
test esi, esi
je 0x100bde22
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 0x100bdf54
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 0x100bdf67
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 0x100bdeb0
mov ebx, dword [sym.nsDui.dll_void__DuiLib::CPaintManagerUI::m_hResourceZip]
jmp 0x100bdec2
mov ecx, dword [ebp - 0x94]
xor edx, edx
push 2
call fcn.100a5e80
pop ecx
mov ebx, eax
test ebx, ebx
je 0x100bde22
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 0x100bde22
mov esi, dword [ebp - 0x98]
test esi, esi
je 0x100bde22
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 0x100bdf44
cmp eax, 0x600
je 0x100bdf44
push edi
call fcn.100e63c6
cmp byte [sym.nsDui.dll_bool_DuiLib::CPaintManagerUI::m_bCachedResourceZip], 0
pop ecx
jne 0x100bde7f
mov ecx, ebx
call fcn.100a6018
jmp 0x100bde7f
cmp byte [sym.nsDui.dll_bool_DuiLib::CPaintManagerUI::m_bCachedResourceZip], 0
jne 0x100bdf54
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 0x100bdfdb
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 0x100bdfd7
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov esi, eax
test esi, esi
je 0x100bdfd7
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 0x100bdfd3
push edi
call fcn.100e63c6
pop ecx
xor edi, edi
test edi, edi
jne 0x100bdfdb
xor eax, eax
jmp 0x100bdff6
mov ecx, dword [ebp - 0x2d0]
push esi
push edi
call sym.nsDui.dll_private:_class_Gdiplus::Image____thiscall_DuiLib::CGifAnimUI::LoadGifFromMemory_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