Function at 0x180056378
Capabilities:
Extract resource via kernel32 functions
Terminate process

Disassembly:
mov rax, rsp
push rdi
push r12
push r13
sub rsp, 0x2f0
mov qword [rsp + 0x58], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
mov rax, qword [0x1800f18c0]
xor rax, rsp
mov qword [rsp + 0x2e0], rax
mov rsi, rcx
call sym.VKD.dll_public:_struct_HWND______ptr64___cdecl_DuiLib::CWindowWnd::operator_struct_HWND______ptr64_void_const___ptr64
mov rcx, rax
mov edi, 0xfffffff0
mov edx, edi
call qword [sym.imp.USER32.dll_GetWindowLongW]
mov ebx, eax
and ebx, 0xff3fffff
or ebx, 0x6000000
mov rcx, rsi
call sym.VKD.dll_public:_struct_HWND______ptr64___cdecl_DuiLib::CWindowWnd::operator_struct_HWND______ptr64_void_const___ptr64
mov rcx, rax
mov r8d, ebx
mov edx, edi
call qword [sym.imp.USER32.dll_SetWindowLongW]
mov rcx, rsi
call sym.VKD.dll_public:_struct_HWND______ptr64___cdecl_DuiLib::CWindowWnd::operator_struct_HWND______ptr64_void_const___ptr64
mov rcx, rax
lea rdx, [rsp + 0x40]
call qword [sym.imp.USER32.dll_GetClientRect]
mov edi, dword [rsp + 0x4c]
sub edi, dword [rsp + 0x44]
mov ebx, dword [rsp + 0x48]
sub ebx, dword [rsp + 0x40]
mov rcx, rsi
call sym.VKD.dll_public:_struct_HWND______ptr64___cdecl_DuiLib::CWindowWnd::operator_struct_HWND______ptr64_void_const___ptr64
mov rcx, rax
mov dword [rsp + 0x30], 0x20
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], ebx
mov r9d, dword [rsp + 0x44]
mov r8d, dword [rsp + 0x40]
xor edx, edx
call qword [sym.imp.USER32.dll_SetWindowPos]
lea rbp, [rsi + 0x50]
xor r8d, r8d
mov rdx, qword [rsi + 8]
mov rcx, rbp
call sym.VKD.dll_public:_void___cdecl_DuiLib::CPaintManagerUI::Init_struct_HWND______ptr64__wchar_t_const____ptr64____ptr64
lea rdx, [rsi + 0x40]
mov rcx, rbp
call sym.VKD.dll_public:_bool___cdecl_DuiLib::CPaintManagerUI::AddPreMessageFilter_class_DuiLib::IMessageFilterUI____ptr64____ptr64
lea rcx, [rsp + 0x180]
call sym.VKD.dll_public:_void___cdecl_DuiLib::CDialogBuilder::constructor_void____ptr64
nop
call sym.VKD.dll_public:_static_class_DuiLib::CDuiString_const____ptr64___cdecl_DuiLib::CPaintManagerUI::GetResourcePath_void_
mov rdx, rax
lea rcx, [rsp + 0xf0]
call sym.VKD.dll_public:_void___cdecl_DuiLib::CDuiString::constructor_class_DuiLib::CDuiString_const____ptr64____ptr64
nop
lea rcx, [rsp + 0xf0]
call sym.VKD.dll_public:_bool___cdecl_DuiLib::CDuiString::IsEmpty_void_const___ptr64
test al, al
je 0x1800564ea
lea rcx, [rsp + 0x68]
call sym.VKD.dll_public:_static_class_DuiLib::CDuiString___cdecl_DuiLib::CPaintManagerUI::GetInstancePath_void_
nop
mov rdx, rax
lea rcx, [rsp + 0xf0]
call fcn.180046518
nop
lea rcx, [rsp + 0x68]
call sym.VKD.dll_public:_void___cdecl_DuiLib::CDuiString::destructor_void____ptr64
mov r11, qword [rsi]
lea rdx, [rsp + 0x68]
mov rcx, rsi
call qword [r11 + 0x40]
nop
mov rcx, rax
call sym.VKD.dll_public:_wchar_t_const____ptr64___cdecl_DuiLib::CDuiString::operator_wchar_t_const____ptr64_void_const___ptr64
mov rdx, rax
lea rcx, [rsp + 0xf0]
call sym.VKD.dll_public:_class_DuiLib::CDuiString_const____ptr64___cdecl_DuiLib::CDuiString::operator_wchar_t_const____ptr64____ptr64
nop
lea rcx, [rsp + 0x68]
call sym.VKD.dll_public:_void___cdecl_DuiLib::CDuiString::destructor_void____ptr64
lea rcx, [rsp + 0xf0]
call sym.VKD.dll_public:_wchar_t_const____ptr64___cdecl_DuiLib::CDuiString::operator_wchar_t_const____ptr64_void_const___ptr64
mov rcx, rax
call sym.VKD.dll_public:_static_void___cdecl_DuiLib::CPaintManagerUI::SetResourcePath_wchar_t_const____ptr64_
mov r11, qword [rsi]
mov rcx, rsi
call qword [r11 + 0x58]
cmp eax, 2
je 0x18005662f
cmp eax, 4
jne 0x18005665b
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x68]
mov rbx, rax
call sym.VKD.dll_public:_static_struct_HINSTANCE______ptr64___cdecl_DuiLib::CPaintManagerUI::GetResourceDll_void_
mov rcx, rax
lea r8, str.ZIPRES
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_FindResourceW]
mov rbx, rax
test rax, rax
jne 0x180056569
lea rcx, [rsp + 0xf0]
call sym.VKD.dll_public:_void___cdecl_DuiLib::CDuiString::destructor_void____ptr64
nop
lea rcx, [rsp + 0x180]
call sym.VKD.dll_public:_void___cdecl_DuiLib::CMarkup::destructor_void____ptr64
xor eax, eax
jmp 0x180056787
call sym.VKD.dll_public:_static_struct_HINSTANCE______ptr64___cdecl_DuiLib::CPaintManagerUI::GetResourceDll_void_
mov rcx, rax
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_LoadResource]
mov r13, rax
test rax, rax
jne 0x1800565ae
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeResource]
nop
lea rcx, [rsp + 0xf0]
call sym.VKD.dll_public:_void___cdecl_DuiLib::CDuiString::destructor_void____ptr64
nop
lea rcx, [rsp + 0x180]
call sym.VKD.dll_public:_void___cdecl_DuiLib::CMarkup::destructor_void____ptr64
xor eax, eax
jmp 0x180056787
call sym.VKD.dll_public:_static_struct_HINSTANCE______ptr64___cdecl_DuiLib::CPaintManagerUI::GetResourceDll_void_
mov rcx, rax
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_SizeofResource]
mov edi, eax
test eax, eax
jne 0x1800565e7
lea rcx, [rsp + 0xf0]
call sym.VKD.dll_public:_void___cdecl_DuiLib::CDuiString::destructor_void____ptr64
nop
lea rcx, [rsp + 0x180]
call sym.VKD.dll_public:_void___cdecl_DuiLib::CMarkup::destructor_void____ptr64
xor eax, eax
jmp 0x180056787
mov rcx, rdi
call fcn.18002d8d0
mov qword [sym.VKD.dll_unsigned_char____ptr64___ptr64_DuiLib::WindowImplBase::m_lpResourceZIPBuffer], rax
test rax, rax
je 0x180056616
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_LockResource]
mov rdx, rax
mov r8, rdi
mov rcx, qword [sym.VKD.dll_unsigned_char____ptr64___ptr64_DuiLib::WindowImplBase::m_lpResourceZIPBuffer]
call fcn.1800898c0
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeResource]
mov edx, edi
mov rcx, qword [sym.VKD.dll_unsigned_char____ptr64___ptr64_DuiLib::WindowImplBase::m_lpResourceZIPBuffer]
call sym.VKD.dll_public:_static_void___cdecl_DuiLib::CPaintManagerUI::SetResourceZip_void____ptr64__unsigned_int_
jmp 0x18005665b
mov rax, qword [rsi]
lea rdx, [rsp + 0x68]
mov rcx, rsi
call qword [rax + 0x60]
nop
mov rcx, rax
call sym.VKD.dll_public:_wchar_t_const____ptr64___cdecl_DuiLib::CDuiString::operator_wchar_t_const____ptr64_void_const___ptr64
mov rcx, rax
mov dl, 1
call sym.VKD.dll_public:_static_void___cdecl_DuiLib::CPaintManagerUI::SetResourceZip_wchar_t_const____ptr64__bool_
nop
lea rcx, [rsp + 0x68]
call sym.VKD.dll_public:_void___cdecl_DuiLib::CDuiString::destructor_void____ptr64
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x58]
cmp eax, 3
jne 0x1800566cc
mov rax, qword [rsi]
lea rdx, [rsp + 0x68]
mov rcx, rsi
call qword [rax + 0x48]
nop
mov rcx, rax
call sym.VKD.dll_public:_wchar_t_const____ptr64___cdecl_DuiLib::CDuiString::operator_wchar_t_const____ptr64_void_const___ptr64
mov rcx, rax
call fcn.18008fc20
mov edx, eax
lea rcx, [rsp + 0x50]
call sym.VKD.dll_public:_void___cdecl_DuiLib::STRINGorID::constructor_unsigned_int____ptr64
nop
lea rcx, [rsp + 0x68]
call sym.VKD.dll_public:_void___cdecl_DuiLib::CDuiString::destructor_void____ptr64
lea r9, [rsi + 0x48]
and qword [rsp + 0x28], 0
mov qword [rsp + 0x20], rbp
lea r8, [0x1800b3890]
mov rdx, qword [rsp + 0x50]
lea rcx, [rsp + 0x180]
call sym.VKD.dll_public:_class_DuiLib::CControlUI____ptr64___cdecl_DuiLib::CDialogBuilder::Create_class_DuiLib::STRINGorID__wchar_t_const____ptr64__class_DuiLib::IDialogBuilderCallback____ptr64__class_DuiLib::CPaintManagerUI____ptr64__class_DuiLib::CControlUI____ptr64____ptr64
mov rbx, rax
jmp 0x18005671f
mov rax, qword [rsi]
lea rdx, [rsp + 0x68]
mov rcx, rsi
call qword [rax + 0x48]
nop
mov rcx, rax
call sym.VKD.dll_public:_wchar_t_const____ptr64___cdecl_DuiLib::CDuiString::operator_wchar_t_const____ptr64_void_const___ptr64
mov rdx, rax
lea rcx, [rsp + 0x60]
call sym.VKD.dll_public:_void___cdecl_DuiLib::STRINGorID::constructor_wchar_t_const____ptr64____ptr64
lea r9, [rsi + 0x48]
and qword [rsp + 0x28], 0
mov qword [rsp + 0x20], rbp
xor r8d, r8d
mov rdx, qword [rax]
lea rcx, [rsp + 0x180]
call sym.VKD.dll_public:_class_DuiLib::CControlUI____ptr64___cdecl_DuiLib::CDialogBuilder::Create_class_DuiLib::STRINGorID__wchar_t_const____ptr64__class_DuiLib::IDialogBuilderCallback____ptr64__class_DuiLib::CPaintManagerUI____ptr64__class_DuiLib::CControlUI____ptr64____ptr64
mov rbx, rax
lea rcx, [rsp + 0x68]
call sym.VKD.dll_public:_void___cdecl_DuiLib::CDuiString::destructor_void____ptr64
test rbx, rbx
jne 0x180056748
lea r9d, [rbx + 0x10]
lea r8, str.Duilib
lea rdx, [0x1800b3868]
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxW]
lea ecx, [rbx + 1]
call qword [sym.imp.KERNEL32.dll_ExitProcess]
mov rdx, rbx
mov rcx, rbp
call sym.VKD.dll_public:_bool___cdecl_DuiLib::CPaintManagerUI::AttachDialog_class_DuiLib::CControlUI____ptr64____ptr64
lea rdx, [rsi + 0x38]
mov rcx, rbp
call sym.VKD.dll_public:_bool___cdecl_DuiLib::CPaintManagerUI::AddNotifier_class_DuiLib::INotifyUI____ptr64____ptr64
mov r11, qword [rsi]
mov rcx, rsi
call qword [r11 + 0x30]
nop
lea rcx, [rsp + 0xf0]
call sym.VKD.dll_public:_void___cdecl_DuiLib::CDuiString::destructor_void____ptr64
nop
lea rcx, [rsp + 0x180]
call sym.VKD.dll_public:_void___cdecl_DuiLib::CMarkup::destructor_void____ptr64
xor eax, eax
mov rcx, qword [rsp + 0x2e0]
xor rcx, rsp
call fcn.180087cc0
lea r11, [rsp + 0x2f0]
mov rbx, qword [r11 + 0x28]
mov rbp, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r13
pop r12
pop rdi
ret