Function at 0x4e1fd0
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x7451e8
mov eax, dword fs:[0]
push eax
sub esp, 0x24
mov eax, dword [0x8312b0]
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
lea eax, [ebp - 0x2c]
push eax
call dword [sym.imp.DuiLib.dll_public:_static_class_faw::String___cdecl_DuiLib::CPaintManagerUI::GetInstancePath_void_]
add esp, 4
push 4
mov dword [ebp - 4], 0
call dword [sym.imp.DuiLib.dll_public:_static_void___cdecl_DuiLib::CPaintManagerUI::SetResourceType_int_]
add esp, 4
lea ecx, [ebp - 0x2c]
push 0x7f9f5c
call fcn.004ecc90
call dword [sym.imp.DuiLib.dll_public:_static_int___cdecl_DuiLib::CPaintManagerUI::GetResourceType_void_]
dec eax
cmp eax, 3
ja case.default.0x4e2037
jmp dword [eax*4 + 0x4e2268]
cmp dword [ebp - 0x18], 8
lea ecx, [ebp - 0x2c]
cmovae ecx, dword [ebp - 0x2c]
sub esp, 8
mov edx, esp
lea esi, [ecx + 2]
mov dword [edx], ecx
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4e2053
sub ecx, esi
sar ecx, 1
mov dword [edx + 4], ecx
call dword [sym.imp.DuiLib.dll_public:_static_void___cdecl_DuiLib::CPaintManagerUI::SetResourcePath_class_std::basic_string_view_wchar_t__struct_std::char_traits_wchar_t___]
add esp, 8
jmp case.default.0x4e2037
push 0x7f9f70
lea ecx, [ebp - 0x2c]
call fcn.004ecc90
cmp dword [ebp - 0x18], 8
lea ecx, [ebp - 0x2c]
cmovae ecx, dword [ebp - 0x2c]
sub esp, 8
mov edx, esp
lea esi, [ecx + 2]
mov dword [edx], ecx
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4e2095
sub ecx, esi
sar ecx, 1
mov dword [edx + 4], ecx
call dword [sym.imp.DuiLib.dll_public:_static_void___cdecl_DuiLib::CPaintManagerUI::SetResourcePath_class_std::basic_string_view_wchar_t__struct_std::char_traits_wchar_t___]
call dword [sym.imp.DuiLib.dll_public:_static_class_DuiLib::CResourceManager____cdecl_DuiLib::CResourceManager::GetInstance_void_]
mov ecx, esp
mov edi, eax
sub esp, 0x20
mov esi, esp
mov dword [ecx], 0x7f9f68
push ecx
mov dword [ecx + 4], 3
push str.IDR_RES
mov ecx, esi
mov dword [ebp - 0x30], esi
call fcn.004608e0
mov ecx, edi
mov byte [esi + 0x1c], 1
call dword [sym.imp.DuiLib.dll_public:_int___thiscall_DuiLib::CResourceManager::LoadResource_class_std::variant_unsigned_int__class_faw::String___class_std::basic_string_view_wchar_t__struct_std::char_traits_wchar_t___]
jmp case.default.0x4e2037
push str.skin_
lea ecx, [ebp - 0x2c]
call fcn.004ecc90
cmp dword [ebp - 0x18], 8
lea ecx, [ebp - 0x2c]
cmovae ecx, dword [ebp - 0x2c]
sub esp, 8
mov edx, esp
lea esi, [ecx + 2]
mov dword [edx], ecx
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4e2110
sub ecx, esi
sar ecx, 1
mov dword [edx + 4], ecx
call dword [sym.imp.DuiLib.dll_public:_static_void___cdecl_DuiLib::CPaintManagerUI::SetResourcePath_class_std::basic_string_view_wchar_t__struct_std::char_traits_wchar_t___]
mov eax, esp
push 0
sub esp, 8
mov dword [eax], 0x7f9fa8
mov dword [eax + 4], 0
mov eax, esp
mov dword [eax], str.res.zip
mov dword [eax + 4], 7
call dword [sym.imp.DuiLib.dll_public:_static_void___cdecl_DuiLib::CPaintManagerUI::SetResourceZip_class_std::basic_string_view_wchar_t__struct_std::char_traits_wchar_t____bool__class_std::basic_string_view_wchar_t__struct_std::char_traits_wchar_t___]
add esp, 0x14
call dword [sym.imp.DuiLib.dll_public:_static_class_DuiLib::CResourceManager____cdecl_DuiLib::CResourceManager::GetInstance_void_]
sub esp, 8
mov edi, eax
mov edx, esp
xor ecx, ecx
mov dword [edx], 0
lea esi, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4e2170
sub ecx, esi
sar ecx, 1
sub esp, 0x20
mov esi, esp
mov dword [edx + 4], ecx
push ecx
push str.res.xml
jmp 0x4e20cf
cmp dword [ebp - 0x18], 8
lea ecx, [ebp - 0x2c]
cmovae ecx, dword [ebp - 0x2c]
sub esp, 8
mov edx, esp
lea esi, [ecx + 2]
mov dword [edx], ecx
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4e21a7
sub ecx, esi
sar ecx, 1
mov dword [edx + 4], ecx
call dword [sym.imp.DuiLib.dll_public:_static_void___cdecl_DuiLib::CPaintManagerUI::SetResourcePath_class_std::basic_string_view_wchar_t__struct_std::char_traits_wchar_t___]
mov edi, dword [sym.imp.DuiLib.dll_public:_static_struct_HINSTANCE______cdecl_DuiLib::CPaintManagerUI::GetResourceDll_void_]
add esp, 8
push str.ZIPRES
push str.IDR_ZIPRES
call edi
push eax
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov ebx, eax
test ebx, ebx
je case.default.0x4e2037
push ebx
call edi
push eax
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov esi, eax
test esi, esi
je 0x4e2225
push ebx
call edi
push eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov edi, eax
test edi, edi
je 0x4e2225
push esi
call dword [sym.imp.KERNEL32.dll_LockResource]
sub esp, 8
mov ecx, esp
push edi
push eax
mov dword [ecx], str.5D3959B5_2C3D_4687_A3FA_33B013FCAD8B
mov dword [ecx + 4], 0x26
call dword [sym.imp.DuiLib.dll_public:_static_void___cdecl_DuiLib::CPaintManagerUI::SetResourceZip_void___unsigned_int__class_std::basic_string_view_wchar_t__struct_std::char_traits_wchar_t___]
add esp, 0x10
push esi
call dword [sym.imp.KERNEL32.dll_FreeResource]
cmp dword [ebp - 0x18], 8
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x1c], 0
cmovae eax, dword [ebp - 0x2c]
xor ecx, ecx
mov word [eax], cx
lea ecx, [ebp - 0x2c]
call fcn.0044bf40
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.006f4f1e
mov esp, ebp
pop ebp
ret