Function at 0x40cef0
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x447a88
mov eax, dword fs:[0]
push eax
sub esp, 0x24
mov eax, dword [0x463074]
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_]
lea ecx, [ebp - 0x2c]
call fcn.0040fd30
call dword [sym.imp.DuiLib.dll_public:_static_int___cdecl_DuiLib::CPaintManagerUI::GetResourceType_void_]
dec eax
cmp eax, 3
ja case.default.0x40cf4f
jmp dword [eax*4 + 0x40d164]
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 + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40cf70
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.0x40cf4f
push ecx
lea ecx, [ebp - 0x2c]
call fcn.0040fd30
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
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40cfb0
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], 0x458f64
push ecx
mov dword [ecx + 4], 3
push str.IDR_RES
mov ecx, esi
mov dword [ebp - 0x30], esi
call fcn.0040ccd0
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.0x40cf4f
push ecx
lea ecx, [ebp - 0x2c]
call fcn.0040fd30
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 0x40d023
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], 0x457f64
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
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40d080
sub ecx, esi
sar ecx, 1
sub esp, 0x20
mov esi, esp
mov dword [edx + 4], ecx
push ecx
push str.res.xml
jmp 0x40cfea
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 0x40d0b7
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
call edi
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.0x40cf4f
push ebx
call edi
push eax
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov esi, eax
test esi, esi
je 0x40d137
push ebx
call edi
push eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov edi, eax
test edi, edi
je 0x40d137
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]
lea ecx, [ebp - 0x2c]
call fcn.0040cdf0
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.004133e3
mov esp, ebp
pop ebp
ret