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

Disassembly:
mov rax, rsp
push rsi
push rdi
push r12
sub rsp, 0x320
mov qword [rsp + 0x48], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rbp
mov rax, qword [0x1800f18c0]
xor rax, rsp
mov qword [rsp + 0x310], rax
mov r12d, r8d
mov rsi, rdx
mov rbx, rcx
call sym.VKD.dll_public:_void___cdecl_DuiLib::CMarkup::Release_void____ptr64
call sym.VKD.dll_public:_static_class_DuiLib::CDuiString_const____ptr64___cdecl_DuiLib::CPaintManagerUI::GetResourcePath_void_
mov rdx, rax
lea rcx, [rsp + 0x50]
call sym.VKD.dll_public:_void___cdecl_DuiLib::CDuiString::constructor_class_DuiLib::CDuiString_const____ptr64____ptr64
nop
call sym.VKD.dll_public:_static_class_DuiLib::CDuiString_const____ptr64___cdecl_DuiLib::CPaintManagerUI::GetResourceZip_void_
mov rcx, rax
call sym.VKD.dll_public:_bool___cdecl_DuiLib::CDuiString::IsEmpty_void_const___ptr64
test al, al
je 0x180055574
mov rdx, rsi
lea rcx, [rsp + 0x50]
call sym.VKD.dll_public:_class_DuiLib::CDuiString_const____ptr64___cdecl_DuiLib::CDuiString::operator_wchar_t_const____ptr64____ptr64
lea rcx, [rsp + 0x50]
call sym.VKD.dll_public:_wchar_t_const____ptr64___cdecl_DuiLib::CDuiString::operator_wchar_t_const____ptr64_void_const___ptr64
mov rcx, rax
and qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0x80000000
lea r8d, [r9 + 1]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rbp, rax
cmp rax, 0xffffffffffffffff
jne 0x1800554a3
xor r8d, r8d
lea rdx, str.Error_opening_file
mov rcx, rbx
call sym.VKD.dll_private:_bool___cdecl_DuiLib::CMarkup::_Failed_wchar_t_const____ptr64__wchar_t_const____ptr64____ptr64
mov bl, al
jmp 0x1800556e5
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov edi, eax
test eax, eax
jne 0x1800554ce
xor r8d, r8d
lea rdx, str.File_is_empty
mov rcx, rbx
call sym.VKD.dll_private:_bool___cdecl_DuiLib::CMarkup::_Failed_wchar_t_const____ptr64__wchar_t_const____ptr64____ptr64
nop
mov bl, al
jmp 0x1800556e5
cmp edi, 0x400000
jbe 0x1800554f0
xor r8d, r8d
lea rdx, str.File_too_large
mov rcx, rbx
call sym.VKD.dll_private:_bool___cdecl_DuiLib::CMarkup::_Failed_wchar_t_const____ptr64__wchar_t_const____ptr64____ptr64
nop
mov bl, al
jmp 0x1800556e5
and dword [rsp + 0x40], 0
mov rcx, rdi
call fcn.18002d8d0
mov rsi, rax
and qword [rsp + 0x20], 0
lea r9, [rsp + 0x40]
mov r8d, edi
mov rdx, rax
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [rsp + 0x40], edi
je 0x180055553
mov rcx, rsi
call fcn.180088960
mov rcx, rbx
call sym.VKD.dll_public:_void___cdecl_DuiLib::CMarkup::Release_void____ptr64
xor r8d, r8d
lea rdx, str.Could_not_read_file
mov rcx, rbx
call sym.VKD.dll_private:_bool___cdecl_DuiLib::CMarkup::_Failed_wchar_t_const____ptr64__wchar_t_const____ptr64____ptr64
nop
mov bl, al
jmp 0x1800556e5
mov r9d, r12d
mov r8d, edi
mov rdx, rsi
mov rcx, rbx
call sym.VKD.dll_public:_bool___cdecl_DuiLib::CMarkup::LoadFromMem_unsigned_char____ptr64__unsigned_long_int__int____ptr64
mov bl, al
mov rcx, rsi
call fcn.180088960
nop
jmp 0x1800556e5
call sym.VKD.dll_public:_static_class_DuiLib::CDuiString_const____ptr64___cdecl_DuiLib::CPaintManagerUI::GetResourceZip_void_
mov rdx, rax
lea rcx, [rsp + 0x50]
call sym.VKD.dll_public:_class_DuiLib::CDuiString_const____ptr64___cdecl_DuiLib::CDuiString::operator_class_DuiLib::CDuiString_const____ptr64____ptr64
call sym.VKD.dll_public:_static_bool___cdecl_DuiLib::CPaintManagerUI::IsCachedResourceZip_void_
test al, al
je 0x180055599
call sym.VKD.dll_public:_static_void____ptr64___cdecl_DuiLib::CPaintManagerUI::GetResourceZipHandle_void_
mov rdi, rax
jmp 0x1800555b4
lea rcx, [rsp + 0x50]
call sym.VKD.dll_public:_wchar_t_const____ptr64___cdecl_DuiLib::CDuiString::operator_wchar_t_const____ptr64_void_const___ptr64
mov rcx, rax
xor edx, edx
lea r8d, [rdx + 2]
call fcn.18007bc3c
mov rdi, rax
test rdi, rdi
jne 0x1800555d3
xor r8d, r8d
lea rdx, str.Error_opening_zip_file
mov rcx, rbx
call sym.VKD.dll_private:_bool___cdecl_DuiLib::CMarkup::_Failed_wchar_t_const____ptr64__wchar_t_const____ptr64____ptr64
nop
mov bl, al
jmp 0x1800556e5
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x44]
mov r8b, 1
mov rdx, rsi
mov rcx, rdi
call fcn.180079f38
test eax, eax
je 0x180055611
xor r8d, r8d
lea rdx, str.Could_not_find_ziped_file
mov rcx, rbx
call sym.VKD.dll_private:_bool___cdecl_DuiLib::CMarkup::_Failed_wchar_t_const____ptr64__wchar_t_const____ptr64____ptr64
nop
mov bl, al
jmp 0x1800556e5
mov esi, dword [rsp + 0x30c]
test esi, esi
jne 0x180055636
xor r8d, r8d
lea rdx, str.File_is_empty
mov rcx, rbx
call sym.VKD.dll_private:_bool___cdecl_DuiLib::CMarkup::_Failed_wchar_t_const____ptr64__wchar_t_const____ptr64____ptr64
nop
mov bl, al
jmp 0x1800556e5
cmp esi, 0x400000
jbe 0x180055658
xor r8d, r8d
lea rdx, str.File_too_large
mov rcx, rbx
call sym.VKD.dll_private:_bool___cdecl_DuiLib::CMarkup::_Failed_wchar_t_const____ptr64__wchar_t_const____ptr64____ptr64
nop
mov bl, al
jmp 0x1800556e5
mov rcx, rsi
call fcn.18002d8d0
mov rbp, rax
mov dword [rsp + 0x20], 3
mov r9d, esi
mov r8, rax
mov edx, dword [rsp + 0x44]
mov rcx, rdi
call fcn.18007bcd0
test eax, eax
je 0x1800556b8
cmp eax, 0x600
je 0x1800556b8
mov rcx, rbp
call fcn.180088960
call sym.VKD.dll_public:_static_bool___cdecl_DuiLib::CPaintManagerUI::IsCachedResourceZip_void_
test al, al
jne 0x1800556a1
mov rcx, rdi
call fcn.18007bd08
xor r8d, r8d
lea rdx, str.Could_not_unzip_file
mov rcx, rbx
call sym.VKD.dll_private:_bool___cdecl_DuiLib::CMarkup::_Failed_wchar_t_const____ptr64__wchar_t_const____ptr64____ptr64
nop
mov bl, al
jmp 0x1800556e5
call sym.VKD.dll_public:_static_bool___cdecl_DuiLib::CPaintManagerUI::IsCachedResourceZip_void_
test al, al
jne 0x1800556c9
mov rcx, rdi
call fcn.18007bd08
mov r9d, r12d
mov r8d, esi
mov rdx, rbp
mov rcx, rbx
call sym.VKD.dll_public:_bool___cdecl_DuiLib::CMarkup::LoadFromMem_unsigned_char____ptr64__unsigned_long_int__int____ptr64
mov bl, al
mov rcx, rbp
call fcn.180088960
nop
lea rcx, [rsp + 0x50]
call sym.VKD.dll_public:_void___cdecl_DuiLib::CDuiString::destructor_void____ptr64
mov al, bl
mov rcx, qword [rsp + 0x310]
xor rcx, rsp
call fcn.180087cc0
lea r11, [rsp + 0x320]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsp, r11
pop r12
pop rdi
pop rsi
ret