Function at 0x426be0
Capabilities:
Check if file exists
Extract resource via kernel32 functions
Get common file path
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x944
mov eax, dword [0x515584]
xor eax, esp
mov dword [esp + 0x940], eax
push ebx
push esi
push edi
push 0x8007
mov dword [esp + 0x50], 0
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
push 0x426bd0
call fcn.0049c203
add esp, 4
lea eax, [esp + 0x740]
push 0x208
push 0
push eax
call fcn.00490000
add esp, 0xc
lea eax, [esp + 0x740]
push 0x104
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
push str.Shcore.dll
lea eax, [esp + 0x744]
xor esi, esi
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea eax, [esp + 0x740]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ebx, dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
je 0x426c92
lea eax, [esp + 0x740]
push eax
call ebx
test eax, eax
je 0x426c92
push str.SetProcessDpiAwareness
push eax
call edi
mov esi, eax
push str.ntdll.dll
call ebx
push str.RtlGetNtVersionNumbers
push eax
call edi
test eax, eax
je 0x426cc8
lea ecx, [esp + 0x44]
push ecx
lea ecx, [esp + 0x50]
push ecx
lea ecx, [esp + 0x48]
push ecx
call eax
cmp dword [esp + 0x40], 0xa
jne 0x426cc8
cmp dword [esp + 0x4c], 0
jne 0x426cc8
mov al, 1
jmp 0x426cca
xor al, al
movzx eax, al
inc eax
test esi, esi
je 0x426cdf
push eax
call esi
test eax, eax
je 0x426cf8
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0x4db054
push str.user32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call edi
test eax, eax
je 0x426cf8
call eax
call dword [sym.imp.USER32.dll_SetProcessDPIAware]
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov edi, eax
push edi
call sym.sembd.exe_public:_static_void___cdecl_DuiLib::CPaintManagerUI::SetInstance_struct_HINSTANCE____
add esp, 4
push 0x4db038
push 0x99
push edi
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov esi, eax
test esi, esi
je 0x426d5d
push esi
push edi
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov ebx, eax
push esi
test ebx, ebx
jne 0x426d3f
call dword [sym.imp.KERNEL32.dll_FreeResource]
jmp 0x426d5d
push edi
call dword [sym.imp.KERNEL32.dll_SizeofResource]
test eax, eax
je 0x426d5d
push 0
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_LockResource]
push eax
call sym.sembd.exe_public:_static_void___cdecl_DuiLib::CPaintManagerUI::SetResourceZip_void___unsigned_int__wchar_t_const__
add esp, 0xc
push 0x6f0
lea eax, [esp + 0x54]
push 0
push eax
call fcn.00490000
add esp, 0xc
lea ecx, [esp + 0x50]
call sym.sembd.exe_public:_void___thiscall_DuiLib::CWindowWnd::constructor_void_
push 0x53
lea ecx, [esp + 0x68]
mov dword [esp + 0x64], vtable.DuiLib::CNotifyPump.0
call sym.sembd.exe_public:_void___thiscall_DuiLib::CStdStringPtrMap::constructor_int_
lea ecx, [esp + 0x80]
mov dword [esp + 0x50], vtable.DuiLib::WindowImplBase.0
mov dword [esp + 0x60], vtable.DuiLib::WindowImplBase.1.0
mov dword [esp + 0x70], vtable.DuiLib::WindowImplBase.2.0
mov dword [esp + 0x74], vtable.DuiLib::WindowImplBase.3.0
mov dword [esp + 0x78], vtable.DuiLib::WindowImplBase.4.0
mov dword [esp + 0x7c], vtable.DuiLib::WindowImplBase.5.0
call sym.sembd.exe_public:_void___thiscall_DuiLib::CPaintManagerUI::constructor_void_
push 0
push 0xb8
push 0x190
push 0
push 0
push 0
push 0x96c80000
push 0x4d73c4
push 0
lea ecx, [esp + 0x74]
mov dword [esp + 0x74], vtable.DownLoadUtil.0
mov dword [esp + 0x84], 0x4db11c
mov dword [esp + 0x94], 0x4db124
mov dword [esp + 0x98], 0x4db10c
mov dword [esp + 0x9c], 0x4db114
mov dword [esp + 0xa0], 0x4db104
call sym.sembd.exe_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::Create_struct_HWND_____wchar_t_const___unsigned_long_int__unsigned_long_int__int__int__int__int__struct_HMENU____
lea ecx, [esp + 0x50]
call sym.sembd.exe_public:_void___thiscall_DuiLib::CWindowWnd::CenterWindow_void_
push 1
push 0
lea ecx, [esp + 0x58]
call sym.sembd.exe_public:_void___thiscall_DuiLib::CWindowWnd::ShowWindow_bool__bool_
mov esi, dword [0x522658]
test esi, esi
jne 0x426e7d
push 0x128828
call fcn.0048d9d3
add esp, 4
mov esi, eax
push 0x128828
push 0
push esi
call fcn.00490000
add esp, 0xc
mov ecx, esi
call fcn.00425190
mov esi, eax
mov dword [0x522658], esi
cmp dword [esi + 0x1287ec], 0x10
lea ecx, [esi + 0x1287d8]
mov dword [esp + 0x40], 1
jb 0x426e9a
mov ecx, dword [esi + 0x1287d8]
mov eax, dword [esi + 0x1287e8]
mov dword [esp + 0x48], eax
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x2c]
mov dword [esp + 0x48], ecx
push eax
call fcn.004845c0
add esp, 8
cmp dword [esp + 0x38], 0
sete al
test al, al
jne 0x426f13
cmp dword [esi + 0x128804], 0x10
lea ecx, [esi + 0x1287f0]
mov dword [esp + 0x40], 3
jb 0x426ee3
mov ecx, dword [esi + 0x1287f0]
mov eax, dword [esi + 0x128800]
mov dword [esp + 0x48], eax
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x14]
mov dword [esp + 0x48], ecx
push eax
call fcn.004845c0
add esp, 8
cmp dword [esp + 0x20], 0
sete al
test al, al
jne 0x426f13
xor bl, bl
jmp 0x426f15
mov bl, 1
test byte [esp + 0x40], 2
je 0x426f6f
mov edx, dword [esp + 0x24]
cmp edx, 8
jb 0x426f58
mov ecx, dword [esp + 0x10]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x426f4e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4271ef
push edx
push ecx
call fcn.0048da03
add esp, 8
xor eax, eax
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 7
mov word [esp + 0x10], ax
mov edx, dword [esp + 0x3c]
cmp edx, 8
jb 0x426fab
mov ecx, dword [esp + 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x426fa1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4271ef
push edx
push ecx
call fcn.0048da03
add esp, 8
test bl, bl
je 0x427023
push 0x12
xor eax, eax
mov dword [esp + 0x24], 0
push 0x4db0a8
lea ecx, [esp + 0x18]
mov dword [esp + 0x2c], 7
mov word [esp + 0x18], ax
call fcn.00403340
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x54]
call fcn.00426780
mov edx, dword [esp + 0x24]
cmp edx, 8
jb 0x427191
mov ecx, dword [esp + 0x10]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x427187
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4271f4
jmp 0x427187
lea eax, [esp + 0x50]
mov ecx, esi
mov dword [esi + 0x128738], eax
call fcn.00421bc0
cmp byte [esi + 0x128820], 0
je 0x427124
lea eax, [esi + 0x12878c]
push eax
lea ecx, [esp + 0x2c]
call fcn.00402330
cmp dword [esp + 0x3c], 8
lea eax, [esp + 0x28]
cmovae eax, dword [esp + 0x28]
push eax
lea eax, [esp + 0x14]
push 0x4db098
push eax
call fcn.00484e40
mov ecx, dword [esp + 0x734]
lea edx, [esp + 0x1c]
add esp, 0xc
cmp dword [esp + 0x24], 8
cmovae edx, dword [esp + 0x10]
mov eax, dword [ecx]
push edx
call dword [eax + 0x2c]
mov edx, dword [esp + 0x24]
cmp edx, 8
jb 0x4270c9
mov ecx, dword [esp + 0x10]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4270bf
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4271f9
push edx
push ecx
call fcn.0048da03
add esp, 8
mov edx, dword [esp + 0x3c]
cmp edx, 8
jb 0x427105
mov ecx, dword [esp + 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4270fb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4271fe
push edx
push ecx
call fcn.0048da03
add esp, 8
mov ecx, esi
call fcn.00422aa0
push 1
push 1
lea ecx, [esp + 0x58]
call sym.sembd.exe_public:_void___thiscall_DuiLib::CWindowWnd::ShowWindow_bool__bool_
lea ecx, [esp + 0x50]
call sym.sembd.exe_public:_unsigned_int___thiscall_DuiLib::CWindowWnd::ShowModal_void_
jmp 0x427191
push 0x16
xor eax, eax
mov dword [esp + 0x24], 0
push str.S_MR
lea ecx, [esp + 0x18]
mov dword [esp + 0x2c], 7
mov word [esp + 0x18], ax
call fcn.00403340
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x54]
call fcn.00426780
mov edx, dword [esp + 0x24]
cmp edx, 8
jb 0x427191
mov ecx, dword [esp + 0x10]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x427187
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x427203
push edx
push ecx
call fcn.0048da03
add esp, 8
lea ecx, [esp + 0x80]
mov dword [esp + 0x50], vtable.DuiLib::WindowImplBase.0
mov dword [esp + 0x60], vtable.DuiLib::WindowImplBase.1.0
mov dword [esp + 0x70], vtable.DuiLib::WindowImplBase.2.0
mov dword [esp + 0x74], vtable.DuiLib::WindowImplBase.3.0
mov dword [esp + 0x78], vtable.DuiLib::WindowImplBase.4.0
mov dword [esp + 0x7c], vtable.DuiLib::WindowImplBase.5.0
call sym.sembd.exe_public_virtual:_void___thiscall_DuiLib::CPaintManagerUI::destructor_void_
lea ecx, [esp + 0x64]
call sym.sembd.exe_public:_void___thiscall_DuiLib::CStdStringPtrMap::destructor_void_
mov ecx, dword [esp + 0x94c]
xor eax, eax
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0048d7c2
mov esp, ebp
pop ebp
ret 0x10
call fcn.0049c1b3
call fcn.0049c1b3
call fcn.0049c1b3
call fcn.0049c1b3
call fcn.0049c1b3
int3