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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1029383c
mov eax, dword fs:[0]
push eax
sub esp, 0x268
mov eax, dword [0x1035dd3c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
push 0xfffffffffffffff0
push dword [edi + 4]
call dword [sym.imp.USER32.dll_GetWindowLongW]
and eax, 0xff3fffff
or eax, 0x6000000
push eax
push 0xfffffffffffffff0
push dword [edi + 4]
call dword [sym.imp.USER32.dll_SetWindowLongW]
lea eax, [ebp - 0x20]
push eax
push dword [edi + 4]
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x1c]
sub eax, edx
mov ecx, dword [ebp - 0x20]
push 0x20
push eax
mov eax, dword [ebp - 0x18]
sub eax, ecx
push eax
push edx
push ecx
push 0
push dword [edi + 4]
call dword [sym.imp.USER32.dll_SetWindowPos]
push 0
push dword [edi + 4]
lea ebx, [edi + 0x2c]
mov ecx, ebx
call sym.nsInstall.dll_public:_void___thiscall_DuiLib::CPaintManagerUI::Init_struct_HWND_____wchar_t_const__
mov ecx, edi
lea eax, [edi + 0x24]
neg ecx
sbb ecx, ecx
and ecx, eax
je 0x100a9c17
push ecx
lea ecx, [edi + 0x2fc]
call sym.nsInstall.dll_public:_bool___thiscall_DuiLib::CDuiPtrArray::Add_void__
mov dword [ebp - 0x270], 0
mov dword [ebp - 0x26c], 0
mov dword [ebp - 0x268], 0
mov byte [ebp - 0x134], 1
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x12c], 0
push sym.nsInstall.dll_class_DuiLib::CDuiString_DuiLib::CPaintManagerUI::m_pStrResourcePath
lea ecx, [ebp - 0x128]
mov dword [ebp - 4], 0
call sym.nsInstall.dll_public:_void___thiscall_DuiLib::CDuiString::constructor_class_DuiLib::CDuiString_const__
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x128]
cmp word [eax], 0
jne 0x100a9ce4
lea eax, [ebp - 0xa4]
push eax
call sym.nsInstall.dll_public:_static_class_DuiLib::CDuiString___cdecl_DuiLib::CPaintManagerUI::GetInstancePath_void_
add esp, 4
lea ecx, [ebp - 0x128]
push eax
call fcn.10048290
mov eax, dword [ebp - 0xa4]
lea ecx, [ebp - 0xa0]
cmp eax, ecx
je 0x100a9cab
push eax
call fcn.10265f8b
add esp, 4
mov eax, dword [edi]
lea ecx, [ebp - 0xa4]
push ecx
mov ecx, edi
call dword [eax + 0x20]
mov eax, dword [eax]
test eax, eax
je 0x100a9ccb
push eax
lea ecx, [ebp - 0x128]
call sym.nsInstall.dll_public:_void___thiscall_DuiLib::CDuiString::Append_wchar_t_const__
mov eax, dword [ebp - 0xa4]
lea ecx, [ebp - 0xa0]
cmp eax, ecx
je 0x100a9ce4
push eax
call fcn.10265f8b
add esp, 4
push dword [ebp - 0x128]
mov ecx, sym.nsInstall.dll_class_DuiLib::CDuiString_DuiLib::CPaintManagerUI::m_pStrResourcePath
call fcn.10048340
mov edx, dword [sym.nsInstall.dll_class_DuiLib::CDuiString_DuiLib::CPaintManagerUI::m_pStrResourcePath]
cmp word [edx], 0
je 0x100a9d3e
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x100a9d05
sub ecx, esi
sar ecx, 1
movzx eax, word [edx + ecx*2 - 2]
cmp eax, 0x5c
je 0x100a9d3e
cmp eax, 0x2f
je 0x100a9d3e
lea eax, [ebp - 0x274]
mov dword [ebp - 0x274], 0x5c
push eax
mov ecx, sym.nsInstall.dll_class_DuiLib::CDuiString_DuiLib::CPaintManagerUI::m_pStrResourcePath
call sym.nsInstall.dll_public:_void___thiscall_DuiLib::CDuiString::Append_wchar_t_const__
mov eax, dword [edi]
mov eax, dword [eax + 0x2c]
cmp eax, sym.nsInstall.dll_public_virtual:_unsigned_int___thiscall_DuiLib::CActiveXUI::GetControlFlags_void_const
jne 0x100a9fb8
mov eax, 1
sub eax, 2
je 0x100a9e44
sub eax, 2
jne 0x100a9e7f
cmp dword [sym.nsInstall.dll_unsigned_char__DuiLib::WindowImplBase::m_lpResourceZIPBuffer], eax
jne 0x100a9e7f
mov eax, dword [edi]
mov eax, dword [eax + 0x34]
cmp eax, sym.nsInstall.dll_public_virtual:_wchar_t_const____thiscall_DuiLib::WindowImplBase::GetResourceID_void_const
jne 0x100a9fc1
mov eax, 0x103222f0
mov ecx, dword [sym.nsInstall.dll_struct_HINSTANCE____DuiLib::CPaintManagerUI::m_hResourceInstance]
test ecx, ecx
push str.ZIPRES
cmove ecx, dword [sym.nsInstall.dll_struct_HINSTANCE____DuiLib::CPaintManagerUI::m_hInstance]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov esi, eax
test esi, esi
je 0x100a9f59
mov eax, dword [sym.nsInstall.dll_struct_HINSTANCE____DuiLib::CPaintManagerUI::m_hResourceInstance]
test eax, eax
push esi
cmove eax, dword [sym.nsInstall.dll_struct_HINSTANCE____DuiLib::CPaintManagerUI::m_hInstance]
push eax
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov ebx, eax
push esi
test ebx, ebx
jne 0x100a9dd4
call dword [sym.imp.KERNEL32.dll_FreeResource]
jmp 0x100a9f59
mov eax, dword [sym.nsInstall.dll_struct_HINSTANCE____DuiLib::CPaintManagerUI::m_hResourceInstance]
test eax, eax
cmove eax, dword [sym.nsInstall.dll_struct_HINSTANCE____DuiLib::CPaintManagerUI::m_hInstance]
push eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov dword [sym.nsInstall.dll_unsigned_long_int_DuiLib::WindowImplBase::m_dwResourceSize], eax
test eax, eax
je 0x100a9f59
push eax
call fcn.10260577
add esp, 4
mov dword [sym.nsInstall.dll_unsigned_char__DuiLib::WindowImplBase::m_lpResourceZIPBuffer], eax
test eax, eax
je 0x100a9e24
push dword [sym.nsInstall.dll_unsigned_long_int_DuiLib::WindowImplBase::m_dwResourceSize]
push ebx
call dword [sym.imp.KERNEL32.dll_LockResource]
push eax
push dword [sym.nsInstall.dll_unsigned_char__DuiLib::WindowImplBase::m_lpResourceZIPBuffer]
call fcn.102618f0
add esp, 0xc
push esi
call dword [sym.imp.KERNEL32.dll_FreeResource]
push dword [sym.nsInstall.dll_unsigned_long_int_DuiLib::WindowImplBase::m_dwResourceSize]
push dword [sym.nsInstall.dll_unsigned_char__DuiLib::WindowImplBase::m_lpResourceZIPBuffer]
call sym.nsInstall.dll_public:_static_void___cdecl_DuiLib::CPaintManagerUI::SetResourceZip_void___unsigned_int_
add esp, 8
lea ebx, [edi + 0x2c]
jmp 0x100a9e7f
lea eax, [ebp - 0xa4]
mov ecx, edi
push eax
mov eax, dword [edi]
call dword [eax + 0x30]
mov byte [ebp - 4], 2
push 1
push dword [eax]
call sym.nsInstall.dll_public:_static_void___cdecl_DuiLib::CPaintManagerUI::SetResourceZip_wchar_t_const___bool_
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xa0]
mov eax, dword [ebp - 0xa4]
add esp, 8
cmp eax, ecx
je 0x100a9e7f
push eax
call fcn.10265f8b
add esp, 4
mov eax, dword [edi]
mov eax, dword [eax + 0x2c]
cmp eax, sym.nsInstall.dll_public_virtual:_unsigned_int___thiscall_DuiLib::CActiveXUI::GetControlFlags_void_const
jne 0x100a9fca
jmp 0x100a9eb5
mov ecx, edi
lea eax, [edi + 0x28]
neg ecx
push 0
sbb ecx, ecx
push ebx
and ecx, eax
push ecx
push 0x1032d194
push esi
lea ecx, [ebp - 0x270]
call sym.nsInstall.dll_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CDialogBuilder::Create_class_DuiLib::STRINGorID__wchar_t_const___class_DuiLib::IDialogBuilderCallback___class_DuiLib::CPaintManagerUI___class_DuiLib::CControlUI__
mov esi, eax
jmp 0x100a9f09
mov eax, dword [edi]
lea ecx, [ebp - 0xa4]
push ecx
mov ecx, edi
call dword [eax + 0x24]
mov ecx, edi
mov byte [ebp - 4], 3
mov edx, dword [eax]
neg ecx
push 0
sbb ecx, ecx
lea eax, [edi + 0x28]
and ecx, eax
push ebx
push ecx
push 0
push ecx
mov eax, esp
lea ecx, [ebp - 0x270]
mov dword [eax], edx
call sym.nsInstall.dll_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CDialogBuilder::Create_class_DuiLib::STRINGorID__wchar_t_const___class_DuiLib::IDialogBuilderCallback___class_DuiLib::CPaintManagerUI___class_DuiLib::CControlUI__
mov esi, eax
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0xa4]
lea ecx, [ebp - 0xa0]
cmp eax, ecx
je 0x100a9f09
push eax
call fcn.10265f8b
add esp, 4
test esi, esi
jne 0x100a9f28
push 0x10
push str.Duilib
push 0x1032d1ac
push esi
call dword [sym.imp.USER32.dll_MessageBoxW]
push 1
call dword [sym.imp.KERNEL32.dll_ExitProcess]
push esi
mov ecx, ebx
call sym.nsInstall.dll_public:_bool___thiscall_DuiLib::CPaintManagerUI::AttachDialog_class_DuiLib::CControlUI__
mov ecx, edi
lea eax, [edi + 0x20]
neg ecx
sbb ecx, ecx
and ecx, eax
je 0x100a9f49
push ecx
lea ecx, [edi + 0x2e4]
call sym.nsInstall.dll_public:_bool___thiscall_DuiLib::CDuiPtrArray::Add_void__
mov eax, dword [edi]
mov eax, dword [eax + 0x18]
cmp eax, sym.nsInstall.dll_void___cdecl_DuiLib::DUI__Trace_wchar_t_const__
jne 0x100aa014
mov eax, dword [ebp - 0x128]
lea ecx, [ebp - 0x124]
cmp eax, ecx
je 0x100a9f72
push eax
call fcn.10265f8b
add esp, 4
mov eax, dword [ebp - 0x270]
test eax, eax
je 0x100a9f85
push eax
call fcn.10265f8b
add esp, 4
mov eax, dword [ebp - 0x26c]
test eax, eax
je 0x100a9f98
push eax
call fcn.10265f8b
add esp, 4
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.102601ec
mov esp, ebp
pop ebp
ret 0x10
mov ecx, edi
call eax
jmp 0x100a9d53
mov ecx, edi
call eax
jmp 0x100a9d86
mov ecx, edi
call eax
cmp eax, 3
jne 0x100a9eb5
mov eax, dword [edi]
lea ecx, [ebp - 0xa4]
push ecx
mov ecx, edi
call dword [eax + 0x24]
push dword [eax]
call fcn.10266c7f
movzx esi, ax
lea ecx, [ebp - 0xa0]
mov eax, dword [ebp - 0xa4]
add esp, 4
cmp eax, ecx
je 0x100a9e91
push eax
call fcn.10265f8b
add esp, 4
jmp 0x100a9e91
mov ecx, edi
call eax
jmp 0x100a9f59