Function at 0x401230
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push 0xffffffffffffffff
push 0x4f156c
mov eax, dword fs:[0]
push eax
sub esp, 0x8c
mov eax, dword [0x52f4a8]
xor eax, esp
mov dword [esp + 0x88], eax
push ebx
push esi
push edi
mov eax, dword [0x52f4a8]
xor eax, esp
push eax
lea eax, [esp + 0x9c]
mov dword fs:[0], eax
push 2
call dword [sym.imp.LibDui.dll_public:_static_void___cdecl_DuiLib::CPaintManagerUI::SetResourceType_int_]
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.LibDui.dll_public:_static_class_DuiLib::CDuiString___cdecl_DuiLib::CPaintManagerUI::GetInstancePath_void_]
add esp, 8
mov dword [esp + 0xa4], 0
call dword [sym.imp.LibDui.dll_public:_static_int___cdecl_DuiLib::CPaintManagerUI::GetResourceType_void_]
dec eax
cmp eax, 3
ja case.default.0x40129b
jmp dword [eax*4 + 0x401448]
push str.skinmini_
lea ecx, [esp + 0x18]
call dword [sym.imp.LibDui.dll_public:_class_DuiLib::CDuiString_const____thiscall_DuiLib::CDuiString::operator_wchar_t_const__]
lea ecx, [esp + 0x14]
call dword [sym.imp.LibDui.dll_public:_wchar_t_const____thiscall_DuiLib::CDuiString::GetData_void_const]
push eax
call dword [sym.imp.LibDui.dll_public:_static_void___cdecl_DuiLib::CPaintManagerUI::SetResourcePath_wchar_t_const__]
add esp, 4
push 0
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
mov dword [eax], str.res.xml
call dword [sym.imp.LibDui.dll_public:_static_class_DuiLib::CResourceManager____cdecl_DuiLib::CResourceManager::GetInstance_void_]
mov ecx, eax
call dword [sym.imp.LibDui.dll_public:_int___thiscall_DuiLib::CResourceManager::LoadResource_class_DuiLib::STRINGorID__wchar_t_const__]
jmp case.default.0x40129b
push str.skinADMonSetup_
lea ecx, [esp + 0x18]
call dword [sym.imp.LibDui.dll_public:_class_DuiLib::CDuiString_const____thiscall_DuiLib::CDuiString::operator_wchar_t_const__]
lea ecx, [esp + 0x14]
call dword [sym.imp.LibDui.dll_public:_wchar_t_const____thiscall_DuiLib::CDuiString::GetData_void_const]
push eax
call dword [sym.imp.LibDui.dll_public:_static_void___cdecl_DuiLib::CPaintManagerUI::SetResourcePath_wchar_t_const__]
add esp, 4
push 0x50d010
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
mov dword [eax], str.IDR_RES
call dword [sym.imp.LibDui.dll_public:_static_class_DuiLib::CResourceManager____cdecl_DuiLib::CResourceManager::GetInstance_void_]
mov ecx, eax
call dword [sym.imp.LibDui.dll_public:_int___thiscall_DuiLib::CResourceManager::LoadResource_class_DuiLib::STRINGorID__wchar_t_const__]
jmp case.default.0x40129b
lea ecx, [esp + 0x14]
call dword [sym.imp.LibDui.dll_public:_wchar_t_const____thiscall_DuiLib::CDuiString::GetData_void_const]
push eax
call dword [sym.imp.LibDui.dll_public:_static_void___cdecl_DuiLib::CPaintManagerUI::SetResourcePath_wchar_t_const__]
push 0
push 1
push str.Res.dll
call dword [sym.imp.LibDui.dll_public:_static_void___cdecl_DuiLib::CPaintManagerUI::SetResourceZip_wchar_t_const___bool__wchar_t_const__]
add esp, 0x10
push 0
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
mov dword [eax], str.res.xml
call dword [sym.imp.LibDui.dll_public:_static_class_DuiLib::CResourceManager____cdecl_DuiLib::CResourceManager::GetInstance_void_]
mov ecx, eax
call dword [sym.imp.LibDui.dll_public:_int___thiscall_DuiLib::CResourceManager::LoadResource_class_DuiLib::STRINGorID__wchar_t_const__]
jmp case.default.0x40129b
push str.skinADMonSetup_
lea ecx, [esp + 0x18]
call dword [sym.imp.LibDui.dll_public:_class_DuiLib::CDuiString_const____thiscall_DuiLib::CDuiString::operator_wchar_t_const__]
lea ecx, [esp + 0x14]
call dword [sym.imp.LibDui.dll_public:_wchar_t_const____thiscall_DuiLib::CDuiString::GetData_void_const]
push eax
call dword [sym.imp.LibDui.dll_public:_static_void___cdecl_DuiLib::CPaintManagerUI::SetResourcePath_wchar_t_const__]
mov edi, dword [sym.imp.LibDui.dll_public:_static_struct_HINSTANCE______cdecl_DuiLib::CPaintManagerUI::GetResourceDll_void_]
add esp, 4
push str.ZIPRES
push str.IDR_ZIPRES
call edi
push eax
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov esi, eax
test esi, esi
je case.default.0x40129b
push esi
call edi
push eax
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov ebx, eax
test ebx, ebx
je 0x401405
push esi
call edi
push eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
test eax, eax
jbe 0x401405
push 0
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_LockResource]
push eax
call dword [sym.imp.LibDui.dll_public:_static_void___cdecl_DuiLib::CPaintManagerUI::SetResourceZip_void___unsigned_int__wchar_t_const__]
add esp, 0xc
push 0
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
mov dword [eax], str.res.xml
call dword [sym.imp.LibDui.dll_public:_static_class_DuiLib::CResourceManager____cdecl_DuiLib::CResourceManager::GetInstance_void_]
mov ecx, eax
call dword [sym.imp.LibDui.dll_public:_int___thiscall_DuiLib::CResourceManager::LoadResource_class_DuiLib::STRINGorID__wchar_t_const__]
push esi
call dword [sym.imp.KERNEL32.dll_FreeResource]
lea ecx, [esp + 0x14]
mov dword [esp + 0xa4], 0xffffffff
call dword [sym.imp.LibDui.dll_public:_void___thiscall_DuiLib::CDuiString::destructor_void_]
mov ecx, dword [esp + 0x9c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x88]
xor ecx, esp
call fcn.00476050
add esp, 0x98
ret