Function at 0x4061d0
Capabilities:
Contain obfuscated stackstrings
Enumerate gui resources
Get common file path
Get graphical window text
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0xa5c
mov eax, dword [ebp + 0xc]
cmp eax, 0x4e
je 0x4062b8
ja 0x406228
cmp eax, 0x18
je 0x406310
cmp eax, 0x2b
jne 0x406270
mov eax, dword [0x415824]
test eax, eax
je 0x406e27
mov eax, dword [ebp + 0x14]
cmp dword [eax + 4], 0x58b
je 0x406bd7
lea esp, [ebp - 0xc]
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret 0x10
cmp eax, 0x110
je 0x406330
cmp eax, 0x111
jne case.0x406266.1410
mov ebx, dword [ebp + 0x10]
shr ebx, 0x10
cmp ebx, 1
je 0x406b50
cmp ebx, 0x300
je 0x407380
test ebx, ebx
jne case.0x406266.1410
mov eax, dword [ebp + 0x10]
sub eax, 0x581
cmp eax, 0xc
ja case.0x406266.1410
jmp dword [eax*4 + 0x418b2c]
cmp eax, 2
jne case.0x406266.1410
mov eax, dword [0x416ec4]
test eax, eax
je case.0x406266.1410
mov dword [esp + 8], 0
mov dword [esp + 4], sym._theme_dsa_destroy_callback_8
mov dword [esp], eax
call dword [sym.imp.comctl32.dll_DSA_DestroyCallback]
mov dword [0x416ec4], 0
mov dword [0x416ec8], 0
sub esp, 0xc
jmp case.0x406266.1410
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 8]
cmp eax, 0xffffff38
je 0x4078b2
ja 0x4069c0
cmp eax, 0xffffff36
je 0x407498
cmp eax, 0xffffff37
jne case.0x406266.1410
mov eax, dword [ebp + 8]
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call dword [sym.imp.user32.dll_SetWindowLongW]
sub esp, 0xc
jmp case.0x406266.1410
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._set_window_title
lea esp, [ebp - 0xc]
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret 0x10
call sym._read_shell_folder_link_targets
lea edi, [ebp - 0x400]
xor eax, eax
mov ecx, 0x19
mov dword [ebp - 0x41c], 0x680053
mov esi, dword [sym.imp.kernel32.dll_GetModuleHandleW]
mov dword [ebp - 0x418], 0x6c0065
mov dword [ebp - 0x414], 0x20006c
mov dword [ebp - 0x410], 0x6f0046
mov dword [ebp - 0x40c], 0x64006c
mov dword [ebp - 0x408], 0x720065
mov dword [ebp - 0x404], 0
rep stosd dword es:[edi], eax
lea edi, [ebp - 0x200]
mov ecx, 0x1b
mov dword [ebp - 0x214], 0x69004c
mov dword [ebp - 0x210], 0x6b006e
mov dword [ebp - 0x20c], 0x200073
mov dword [ebp - 0x208], 0x6f0074
mov dword [ebp - 0x204], 0
rep stosd dword es:[edi], eax
mov dword [ebp - 0xa30], esi
lea edi, [ebp - 0x41c]
mov dword [esp], 0
call esi
mov ebx, dword [sym.imp.user32.dll_LoadStringW]
mov dword [ebp - 0xa38], edi
sub esp, 4
mov dword [ebp - 0xa2c], ebx
mov dword [esp + 0xc], 0x40
mov dword [esp + 8], edi
mov dword [esp + 4], 0x10
mov dword [esp], eax
call ebx
sub esp, 0x10
mov dword [esp], 0
call esi
lea edx, [ebp - 0x214]
sub esp, 4
mov dword [ebp - 0xa34], edx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x40
mov dword [esp + 4], 0x11
mov dword [esp], eax
call ebx
mov eax, dword [ebp + 8]
sub esp, 0x10
mov dword [esp], eax
mov eax, dword [sym.imp.user32.dll_GetDlgItem]
mov dword [esp + 4], 0x582
mov dword [ebp - 0xa40], eax
call eax
lea edx, [ebp - 0x82c]
sub esp, 8
mov dword [ebp - 0xa48], edx
mov dword [esp + 4], edx
mov dword [esp], eax
call dword [sym.imp.user32.dll_GetClientRect]
mov ecx, dword [ebp - 0x824]
mov edx, 0x55555556
sub ecx, dword [ebp - 0x82c]
mov eax, ecx
sar ecx, 0x1f
sub esp, 8
mov dword [ebp - 0x624], 0xe
imul edx
mov dword [ebp - 0x618], edi
sub edx, ecx
cmp word [ebp - 0x41c], 0
mov ebx, edx
je 0x4079eb
mov eax, edi
nop
add eax, 2
cmp word [eax], 0
jne 0x4064c0
sub eax, dword [ebp - 0xa38]
sar eax, 1
mov dword [ebp - 0x614], eax
lea eax, [ebp - 0x624]
mov dword [ebp - 0xa44], eax
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x61c], ebx
mov dword [esp], eax
mov eax, dword [sym.imp.user32.dll_SendDlgItemMessageW]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x1061
mov dword [esp + 4], 0x582
mov dword [ebp - 0xa3c], eax
call eax
mov eax, dword [ebp - 0xa34]
sub esp, 0x14
cmp word [ebp - 0x214], 0
mov dword [ebp - 0x618], eax
je 0x4079f2
lea esi, [esi]
add eax, 2
cmp word [eax], 0
jne 0x406538
sub eax, dword [ebp - 0xa34]
sar eax, 1
mov dword [ebp - 0x614], eax
mov eax, dword [ebp - 0x824]
xor esi, esi
mov dword [esp + 0xc], 1
dec eax
sub eax, dword [ebp - 0x82c]
mov dword [esp + 8], 0x1061
sub eax, ebx
mov dword [esp + 4], 0x582
mov ebx, 0x416080
mov dword [ebp - 0x61c], eax
mov eax, dword [ebp - 0xa44]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
mov eax, dword [ebp - 0xa3c]
call eax
mov eax, dword [ebp + 8]
sub esp, 0x14
call sym._update_shell_folder_listview
mov eax, dword [ebp + 8]
mov dword [esp + 4], 0x586
mov dword [esp], eax
mov eax, dword [ebp - 0xa40]
call eax
mov edi, dword [sym.imp.user32.dll_SendMessageW]
mov dword [ebp - 0xa24], eax
sub esp, 8
mov dword [ebp - 0xa28], edi
mov edi, dword [ebp - 0xa34]
lea esi, cs:[esi]
nop
mov dword [esp], 0
mov eax, dword [ebp - 0xa30]
call eax
lea edx, [esi + 0x20d0]
sub esp, 4
mov dword [esp + 4], edx
mov dword [esp], eax
mov eax, dword [ebp - 0xa2c]
mov dword [esp + 0xc], 0x100
mov dword [esp + 8], edi
call eax
mov eax, dword [ebp - 0xa24]
mov ecx, dword [ebp - 0xa28]
sub esp, 0x10
mov dword [esp + 0xc], edi
mov dword [esp + 8], 0
mov dword [esp + 4], 0x143
mov dword [esp], eax
call ecx
sub esp, 0x10
cmp eax, 0xffffffff
je 0x406667
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xa24]
mov dword [esp + 0xc], esi
mov ecx, dword [ebp - 0xa28]
mov dword [esp + 4], 0x151
mov dword [esp], eax
call ecx
sub esp, 0x10
mov eax, dword [ebx]
cmp eax, 0xffffffff
je 0x40667d
mov dword [esp], eax
call dword [sym.imp.user32.dll_GetSystemMetrics]
mov dword [ebx + 0xc], eax
sub esp, 4
mov eax, dword [ebx + 4]
cmp eax, 0xffffffff
je 0x406694
mov dword [esp], eax
call dword [sym.imp.user32.dll_GetSysColor]
mov dword [ebx + 0x10], eax
sub esp, 4
inc esi
add ebx, 0x70
cmp esi, 0x20
jne 0x4065e0
mov eax, dword [ebp - 0xa38]
mov dword [esp + 0xc], 0
lea esi, [ebp - 0x33c]
mov dword [ebp - 0x41c], 0x1f8
mov dword [esp + 8], eax
mov dword [esp + 4], 0x1f8
mov dword [esp], 0x29
call dword [sym.imp.user32.dll_SystemParametersInfoW]
mov eax, 0x416254
mov ecx, 0x17
mov edi, eax
mov eax, 0x416644
sub esp, 0x10
rep movsd dword es:[edi], dword [esi]
mov edi, eax
mov eax, 0x416484
lea esi, [ebp - 0x404]
mov ecx, 0x17
rep movsd dword es:[edi], dword [esi]
mov edi, eax
mov eax, 0x416794
lea esi, [ebp - 0x2e0]
mov ecx, 0x17
rep movsd dword es:[edi], dword [esi]
mov edi, eax
lea esi, [ebp - 0x284]
mov ecx, 0x17
rep movsd dword es:[edi], dword [esi]
mov dword [esp], 0x418968
call sym._keypath
mov dword [esp + 0xc], 0x418960
mov dword [esp + 4], eax
mov eax, dword [0x415a44]
mov dword [esp + 8], str.Enable
mov dword [esp], eax
call sym._get_reg_key
movzx edx, word [eax]
mov ebx, eax
mov dword [esp + 4], 0x58d
mov ecx, edx
and ecx, 0xffffffdf
cmp cx, 0x59
sete al
cmp cx, 0x54
sete cl
or eax, ecx
cmp dx, 0x31
sete dl
or eax, edx
mov edx, dword [ebp + 8]
movzx eax, al
mov dword [esp], edx
mov dword [esp + 8], eax
call dword [sym.imp.user32.dll_CheckDlgButton]
sub esp, 0xc
mov dword [esp], ebx
call dword [sym.imp.ucrtbase.dll_free]
mov edx, dword [ebp + 8]
mov esi, dword [ebp - 0xa3c]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp], edx
mov dword [esp + 8], 0x14b
mov dword [esp + 4], 0x57e
call esi
mov ebx, dword [ebp - 0xa30]
sub esp, 0x14
mov dword [esp], 0
call ebx
mov edi, dword [ebp - 0xa34]
mov edx, dword [ebp - 0xa2c]
sub esp, 4
mov dword [esp + 0xc], 0x100
mov dword [esp + 8], edi
mov dword [esp + 4], 0x57f
mov dword [esp], eax
call edx
mov ecx, dword [ebp + 8]
sub esp, 0x10
mov dword [esp], ecx
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x143
mov dword [esp + 4], 0x57e
call esi
sub esp, 0x14
mov dword [esp], 0
call ebx
mov edx, dword [ebp - 0xa2c]
sub esp, 4
mov dword [esp + 0xc], 0x100
mov dword [esp + 8], edi
mov dword [esp + 4], 0x580
mov dword [esp], eax
call edx
mov edx, dword [ebp + 8]
sub esp, 0x10
mov dword [esp], edx
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x143
mov dword [esp + 4], 0x57e
call esi
mov eax, dword [ebp - 0xa38]
mov dword [ebp - 0x8f4], 0
mov dword [ebp - 0x82c], 4
sub esp, 0x14
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
mov dword [esp + 4], str.SoftwareMicrosoftWindowsCurrentVersionThemesPersonalize
mov dword [esp], Ordinal_2
call dword [sym.imp.advapi32.dll_RegOpenKeyExW]
mov edx, eax
sub esp, 0x14
xor eax, eax
test edx, edx
jne 0x406942
mov eax, dword [ebp - 0xa48]
mov dword [esp + 8], 0
mov dword [esp + 4], str.AppsUseLightTheme
mov dword [esp + 0x14], eax
lea eax, [ebp - 0x8f4]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0xa44]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x41c]
mov dword [esp], eax
call dword [sym.imp.advapi32.dll_RegQueryValueExW]
sub esp, 0x18
test eax, eax
je 0x406bc5
mov dword [ebp - 0x8f4], 1
mov eax, dword [ebp - 0x41c]
mov dword [esp], eax
call dword [sym.imp.advapi32.dll_RegCloseKey]
mov eax, dword [ebp - 0x8f4]
sub esp, 4
mov eax, dword [eax*8 + 0x423250]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 8]
mov edi, dword [ebp - 0xa3c]
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0x14e
mov dword [esp + 4], 0x57e
mov dword [esp], eax
call edi
mov eax, dword [ebp + 8]
sub esp, 0x14
mov dword [esp], eax
mov eax, dword [ebp - 0xa40]
mov dword [esp + 4], 0x588
call eax
sub esp, 8
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0x469
mov dword [esp + 4], 0x589
mov dword [esp], eax
call edi
xor eax, eax
sub esp, 0x14
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret 0x10
cmp eax, 0xffffff9b
jne case.0x406266.1410
cmp dword [ebp + 0x10], 0x582
jne case.0x406266.1410
mov eax, dword [ebp + 0x14]
test byte [eax + 0x14], 2
je 0x407e65
mov eax, dword [eax + 0x28]
mov edi, dword [sym.imp.user32.dll_GetDlgItem]
mov dword [esp + 4], 0x583
mov dword [0x416ea8], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0xa40], edi
mov dword [esp], eax
call edi
mov ebx, dword [sym.imp.user32.dll_EnableWindow]
sub esp, 8
mov dword [esp + 4], 1
mov dword [esp], eax
call ebx
mov eax, dword [0x416ea8]
sub esp, 8
cmp byte [eax + 4], 0
je 0x40837c
mov eax, dword [ebp + 8]
mov dword [esp + 8], 1
mov dword [esp + 4], 0x583
mov dword [esp], eax
call dword [sym.imp.user32.dll_CheckDlgButton]
mov eax, dword [ebp + 8]
sub esp, 0xc
mov dword [esp + 4], 0x584
mov dword [esp], eax
call edi
sub esp, 8
mov dword [esp + 4], 1
mov dword [esp], eax
call ebx
mov eax, dword [ebp + 8]
sub esp, 8
mov dword [esp + 4], 0x585
mov dword [esp], eax
call edi
sub esp, 8
mov dword [esp + 4], 1
mov dword [esp], eax
call ebx
mov eax, dword [0x416ea8]
mov edx, dword [sym.imp.kernel32.dll_MultiByteToWideChar]
sub esp, 8
lea esi, [eax + 4]
mov dword [ebp - 0xa24], edx
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov dword [esp], 0xfdf2
call edx
sub esp, 0x18
mov edi, eax
add eax, eax
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_malloc]
mov ebx, eax
test eax, eax
je 0x406b19
mov dword [esp + 0x14], edi
mov edx, dword [ebp - 0xa24]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov dword [esp], 0xfdf2
call edx
sub esp, 0x18
mov eax, dword [ebp + 8]
mov dword [esp + 4], 0x584
mov dword [esp], eax
mov eax, dword [ebp - 0xa40]
call eax
sub esp, 8
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [sym.imp.user32.dll_SetWindowTextW]
sub esp, 8
mov dword [esp], ebx
call dword [sym.imp.ucrtbase.dll_free]
jmp case.0x406266.1410
mov eax, dword [0x416edc]
test eax, eax
jne case.0x406266.1410
cmp word [ebp + 0x10], 0x57e
movzx eax, word [ebp + 0x10]
ja 0x4079d3
cmp eax, 0x57c
ja 0x407cdd
mov eax, dword [ebp + 0x10]
and eax, 0xfffd
cmp eax, 0x579
je 0x407cce
mov edi, dword [sym.imp.user32.dll_SendMessageW]
mov eax, dword [ebp + 8]
mov dword [esp], eax
call dword [sym.imp.user32.dll_GetParent]
sub esp, 4
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x468
mov dword [esp], eax
call edi
sub esp, 0x10
jmp case.0x406266.1410
cmp dword [ebp - 0x624], 4
jne 0x406919
jmp 0x406923
mov eax, dword [ebp + 8]
mov dword [esp], eax
call dword [sym.imp.user32.dll_GetDpiForWindow]
sub esp, 4
mov dword [esp + 8], eax
mov dword [esp + 4], str.Button
mov dword [esp], 0
call dword [sym.imp.uxtheme.dll_OpenThemeDataForDpi]
mov ebx, eax
mov eax, dword [ebp + 0x14]
sub esp, 0xc
mov eax, dword [eax + 0x10]
test ebx, ebx
je 0x407a08
mov esi, 4
test al, 4
jne 0x406c29
and eax, 1
cmp eax, 1
sbb esi, esi
and esi, 0xfffffffe
add esi, 3
mov dword [esp + 8], esi
mov dword [esp + 4], 1
mov dword [esp], ebx
call dword [sym.imp.uxtheme.dll_IsThemeBackgroundPartiallyTransparent]
sub esp, 0xc
test eax, eax
jne 0x407b60
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x14], 0
mov dword [esp + 0xc], esi
lea edi, [eax + 0x1c]
mov dword [esp + 8], 1
mov dword [esp + 0x10], edi
mov eax, dword [eax + 0x18]
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [sym.imp.uxtheme.dll_DrawThemeBackground]
mov eax, dword [ebp + 0x14]
sub esp, 0x18
mov eax, dword [eax + 0x1c]
mov dword [ebp - 0x41c], eax
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 0x20]
mov dword [ebp - 0x418], eax
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x414], eax
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 0x28]
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], 0xe12
mov dword [ebp - 0x410], eax
lea eax, [ebp - 0x214]
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 0xc], esi
mov dword [esp + 8], 1
mov eax, dword [eax + 0x18]
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [sym.imp.uxtheme.dll_GetThemeMargins]
mov eax, dword [ebp - 0x214]
add dword [ebp - 0x41c], eax
mov eax, dword [ebp - 0x20c]
add dword [ebp - 0x418], eax
sub esp, 0x1c
mov eax, dword [ebp - 0x210]
sub dword [ebp - 0x414], eax
mov eax, dword [ebp - 0x208]
sub dword [ebp - 0x410], eax
mov eax, dword [ebp + 0x14]
test byte [eax + 0x10], 0x10
jne 0x407b3f
mov dword [esp], ebx
call dword [sym.imp.uxtheme.dll_CloseThemeData]
sub esp, 4
mov eax, dword [ebp + 0x14]
test byte [eax + 0x10], 4
jne case.0x406266.1410
mov eax, dword [ebp + 8]
mov ebx, dword [sym.imp.user32.dll_SendDlgItemMessageW]
mov dword [esp + 0x10], 0
lea esi, [ebp - 0x41c]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x147
mov dword [esp + 4], 0x586
mov dword [esp], eax
call ebx
sub esp, 0x14
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0x150
mov dword [esp + 4], 0x586
mov dword [esp], eax
call ebx
imul eax, eax, 0x70
sub esp, 0x14
mov eax, dword [eax + 0x416090]
mov dword [esp], eax
call dword [sym.imp.gdi32.dll_CreateSolidBrush]
inc dword [ebp - 0x41c]
mov ebx, eax
mov eax, dword [0x415824]
sub esp, 4
inc dword [ebp - 0x418]
mov dword [esp + 4], esi
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x14]
dec dword [ebp - 0x414]
mov eax, dword [eax + 0x18]
dec dword [ebp - 0x410]
mov dword [esp], eax
call dword [sym.imp.user32.dll_FrameRect]
mov eax, dword [ebp + 0x14]
inc dword [ebp - 0x41c]
sub esp, 0xc
inc dword [ebp - 0x418]
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov eax, dword [eax + 0x18]
dec dword [ebp - 0x414]
dec dword [ebp - 0x410]
mov dword [esp], eax
call dword [sym.imp.user32.dll_FillRect]
sub esp, 0xc
mov dword [esp], ebx
call dword [sym.imp.gdi32.dll_DeleteObject]
sub esp, 4
jmp case.0x406266.1410
mov dword [esp], 0
call dword [sym.imp.gdi32.dll_CreateSolidBrush]
mov dword [0x415824], eax
sub esp, 4
jmp 0x406205
mov eax, dword [ebp + 8]
mov dword [esp + 4], 0x58d
mov ebx, 0x418960
mov dword [esp], eax
call dword [sym.imp.user32.dll_IsDlgButtonChecked]
sub esp, 8
cmp eax, 1
mov eax, 0x418964
mov dword [esp], 0x418968
cmovne ebx, eax
call sym._keypath
mov dword [esp + 0xc], ebx
mov dword [esp + 4], eax
mov eax, dword [0x415a44]
mov dword [esp + 8], str.Enable
mov dword [esp], eax
call sym._set_reg_key
mov eax, dword [ebp + 8]
mov dword [esp], eax
call dword [sym.imp.user32.dll_GetParent]
sub esp, 4
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x468
mov dword [esp], eax
call dword [sym.imp.user32.dll_SendMessageW]
sub esp, 0x10
jmp case.0x406266.1410
mov eax, dword [ebp + 8]
mov ebx, dword [sym.imp.user32.dll_SendDlgItemMessageW]
mov dword [esp + 0x10], 0
lea esi, [ebp - 0x214]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x147
mov dword [esp + 4], 0x586
mov dword [esp], eax
call ebx
sub esp, 0x14
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0x150
mov dword [esp + 4], 0x586
mov dword [esp], eax
call ebx
lea ebx, [ebp - 0x20c]
mov ecx, 0xd
mov edx, eax
mov edi, ebx
xor eax, eax
sub esp, 0x14
rep stosd dword es:[edi], eax
mov eax, dword [ebp + 8]
mov dword [esp], esi
mov dword [ebp - 0x214], 0x3c
mov dword [ebp - 0x210], eax
imul eax, edx, 0x70
mov dword [ebp - 0x200], 0x1800041
add eax, 0x416094
mov dword [ebp - 0x208], eax
call dword [sym.imp.comdlg32.dll_ChooseFontW]
sub esp, 4
test eax, eax
je case.0x406266.1410
jmp 0x406e91
mov eax, dword [ebp + 8]
mov ebx, dword [sym.imp.user32.dll_SendDlgItemMessageW]
mov dword [esp + 0x10], 0
lea esi, [ebp - 0x214]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x147
mov dword [esp + 4], 0x586
mov dword [esp], eax
call ebx
sub esp, 0x14
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0x150
mov dword [esp + 4], 0x586
mov dword [esp], eax
call ebx
lea edx, [ebp - 0x20c]
mov ecx, 7
mov ebx, eax
mov edi, edx
xor eax, eax
sub esp, 0x14
rep stosd dword es:[edi], eax
imul edi, ebx, 0x70
mov dword [esp], esi
mov dword [ebp - 0x214], 0x24
mov dword [ebp - 0x204], 0x416f00
mov dword [ebp - 0x200], 0x101
mov eax, dword [edi + 0x416090]
add edi, 0x416080
mov dword [ebp - 0x208], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x210], eax
call dword [sym.imp.comdlg32.dll_ChooseColorW]
sub esp, 4
test eax, eax
je case.0x406266.1410
mov edx, dword [ebp - 0x208]
mov eax, ebx
mov dword [edi + 0x10], edx
call sym._save_sys_color
mov eax, dword [ebp + 8]
mov dword [esp + 4], 0x58b
mov dword [esp], eax
call dword [sym.imp.user32.dll_GetDlgItem]
sub esp, 8
mov dword [esp + 8], 1
mov dword [esp + 4], 0
mov dword [esp], eax
call dword [sym.imp.user32.dll_InvalidateRect]
sub esp, 0xc
jmp 0x406e91
mov eax, dword [ebp + 8]
lea ebx, [ebp - 0x214]
mov dword [esp + 4], ebx
mov dword [esp], eax
call sym._browse_for_unix_folder
test eax, eax
je case.0x406266.1410
mov eax, dword [0x416ea8]
mov dword [esp + 8], ebx
mov dword [esp + 0x1c], 0
add eax, 4
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x104
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 4], 0
mov dword [esp], 0xfdf2
call dword [sym.imp.kernel32.dll_WideCharToMultiByte]
mov eax, dword [ebp + 8]
sub esp, 0x20
call sym._update_shell_folder_listview
jmp 0x406e91
mov eax, dword [ebp + 8]
mov dword [esp + 4], 0x583
mov dword [esp], eax
call dword [sym.imp.user32.dll_IsDlgButtonChecked]
sub esp, 8
test eax, eax
je 0x407f53
mov eax, dword [ebp + 8]
lea ebx, [ebp - 0x214]
mov dword [esp + 4], ebx
mov dword [esp], eax
call sym._browse_for_unix_folder
test eax, eax
jne 0x4070a4
mov eax, dword [ebp + 8]
mov dword [esp + 8], 0
mov dword [esp + 4], 0x583
mov dword [esp], eax
call dword [sym.imp.user32.dll_CheckDlgButton]
sub esp, 0xc
jmp case.0x406266.1410
mov eax, dword [sym.imp.kernel32.dll_GetModuleHandleW]
mov dword [esp], 0
lea edi, [ebp - 0x9bc]
mov dword [ebp - 0xa30], eax
call eax
sub esp, 4
mov dword [esp], eax
mov eax, dword [sym.imp.user32.dll_LoadStringW]
mov dword [esp + 0xc], 0x4f
mov dword [esp + 8], edi
mov dword [esp + 4], 0xe
mov dword [ebp - 0xa2c], eax
call eax
mov eax, edi
sub esp, 0x10
cmp word [ebp - 0x9bc], 0
je 0x4071b2
add eax, 2
cmp word [eax], 0
jne 0x4071a9
mov edx, dword [0x423360]
lea esi, [ebp - 0x8f4]
mov dword [eax], edx
mov edx, dword [0x423364]
mov dword [eax + 4], edx
mov edx, dword [0x423368]
mov dword [eax + 8], edx
mov edx, dword [0x42336c]
mov dword [eax + 0xc], edx
mov edx, dword [0x423370]
mov dword [eax + 0x10], edx
mov edx, dword [0x423374]
mov dword [eax + 0x14], edx
mov edx, dword [0x423378]
mov dword [eax + 0x18], edx
mov edx, dword [0x42337c]
mov dword [eax + 0x1c], edx
mov edx, dword [0x423380]
mov dword [eax + 0x20], edx
mov edx, dword [0x423384]
mov dword [eax + 0x24], edx
movzx edx, word [0x423388]
mov word [eax + 0x28], dx
mov eax, dword [ebp - 0xa30]
mov dword [esp], 0
call eax
sub esp, 4
mov dword [esp], eax
mov eax, dword [ebp - 0xa2c]
mov dword [esp + 0xc], 0x64
mov dword [esp + 8], esi
mov dword [esp + 4], 0xf
call eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0xa08], edi
xor edi, edi
sub esp, 0x10
mov dword [ebp - 0x9e4], esi
mov dword [ebp - 0xa10], eax
lea eax, [ebp - 0x624]
mov dword [ebp - 0xa44], eax
mov dword [ebp - 0x9f8], eax
lea eax, [ebp - 0x82c]
mov dword [ebp - 0xa48], eax
mov dword [ebp - 0x9f0], eax
xor eax, eax
mov word [ebp - 0x82c], ax
lea eax, [ebp - 0xa14]
mov dword [ebp - 0xa14], 0x58
mov dword [ebp - 0xa0c], 0
mov dword [ebp - 0xa04], 0
mov dword [ebp - 0xa00], 0
mov dword [ebp - 0x9fc], 0
mov word [ebp - 0x624], di
mov dword [ebp - 0x9f4], 0x104
mov dword [ebp - 0x9ec], 0x104
mov dword [ebp - 0x9e8], 0
mov dword [ebp - 0x9e0], 0x801804
mov dword [ebp - 0x9dc], 0
mov dword [ebp - 0x9d8], 0
mov dword [ebp - 0x9d4], 0
mov dword [ebp - 0x9d0], 0
mov dword [ebp - 0x9cc], 0
mov dword [esp], eax
call dword [sym.imp.comdlg32.dll_GetOpenFileNameW]
sub esp, 4
test eax, eax
jne 0x4080ef
test byte [0x4150a0], 8
je case.0x406266.1410
mov dword [esp + 0xc], str.user_cancelled_n
mov dword [esp + 8], str.on_theme_install
mov dword [esp + 4], 0x4150a0
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_7
jmp case.0x406266.1410
mov eax, dword [0x416edc]
test eax, eax
jne case.0x406266.1410
cmp word [ebp + 0x10], 0x584
movzx eax, word [ebp + 0x10]
je 0x407b89
cmp eax, 0x588
jne case.0x406266.1410
mov eax, dword [ebp + 8]
mov dword [esp + 4], 0x588
mov dword [esp], eax
call dword [sym.imp.user32.dll_GetDlgItem]
sub esp, 8
mov esi, eax
mov dword [esp], eax
call dword [sym.imp.user32.dll_GetWindowTextLengthW]
sub esp, 4
inc eax
mov edi, eax
je 0x408063
add eax, eax
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_malloc]
mov ebx, eax
test eax, eax
je 0x408063
mov dword [esp + 8], edi
mov dword [esp + 4], eax
mov dword [esp], esi
call dword [sym.imp.user32.dll_GetWindowTextW]
sub esp, 0xc
test eax, eax
je 0x40805a
mov eax, dword [ebp + 8]
mov esi, dword [sym.imp.user32.dll_SendDlgItemMessageW]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x147
mov dword [esp + 4], 0x586
mov dword [esp], eax
call esi
sub esp, 0x14
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0x150
mov dword [esp + 4], 0x586
mov dword [esp], eax
call esi
mov esi, eax
sub esp, 0x14
imul esi, esi, 0x70
mov dword [esp + 8], 0xa
mov dword [esp + 4], 0
mov dword [esp], ebx
call dword [sym.imp.ucrtbase.dll_wcstol]
mov dword [esp], ebx
mov dword [esi + 0x41608c], eax
call dword [sym.imp.ucrtbase.dll_free]
jmp 0x406e91
call sym._apply
mov edx, dword [0x416ecc]
lea eax, [ebp - 0x214]
mov dword [ebp - 0xa34], eax
test edx, edx
je 0x4075e2
mov eax, dword [ebp + 8]
mov esi, dword [sym.imp.user32.dll_GetDlgItem]
mov dword [esp + 4], 0x57d
mov dword [esp], eax
call esi
mov ebx, dword [sym.imp.user32.dll_SendMessageW]
sub esp, 8
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x147
mov dword [esp], eax
call ebx
mov edi, eax
mov eax, dword [ebp + 8]
sub esp, 0x10
mov dword [esp + 4], 0x579
mov dword [esp], eax
call esi
sub esp, 8
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x147
mov dword [esp], eax
call ebx
mov dword [ebp - 0xa24], eax
mov eax, dword [ebp + 8]
sub esp, 0x10
mov dword [esp + 4], 0x57b
mov dword [esp], eax
call esi
sub esp, 8
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x147
mov dword [esp], eax
call ebx
sub esp, 0x10
mov esi, eax
test edi, edi
jne 0x407a7d
mov dword [esp + 8], 0
mov dword [esp + 4], 0x415820
mov dword [esp], 0
call sym._ApplyTheme_12
sub esp, 0xc
mov edi, dword [sym.imp.user32.dll_GetSysColor]
mov esi, 0x416080
mov ebx, 0x416e80
lea esi, [esi]
mov eax, dword [esi]
cmp eax, 0xffffffff
je 0x4075b6
mov dword [esp], eax
call dword [sym.imp.user32.dll_GetSystemMetrics]
mov dword [esi + 0xc], eax
sub esp, 4
mov eax, dword [esi + 4]
cmp eax, 0xffffffff
je 0x4075c9
mov dword [esp], eax
call edi
mov dword [esi + 0x10], eax
sub esp, 4
add esi, 0x70
cmp ebx, esi
jne 0x4075a0
mov eax, dword [ebp + 8]
call sym._on_sysparam_change
mov dword [0x416ecc], 0
mov ebx, dword [sym.imp.shell32.dll_SHGetFolderPathW]
mov edi, 0x4150e4
mov esi, 0x41581c
lea esi, [esi]
mov eax, dword [ebp - 0xa34]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 0x10], eax
mov eax, dword [edi - 4]
mov dword [esp], 0
or ah, 0x80
mov dword [esp + 4], eax
call ebx
sub esp, 0x14
test eax, eax
js 0x40763e
mov eax, dword [ebp - 0xa34]
mov dword [esp + 4], edi
mov dword [esp], eax
call sym._set_shell_folder
add edi, 0x108
cmp esi, edi
jne 0x4075f8
mov dword [esp], 0
lea edi, [ebp - 0x134]
call dword [sym.imp.user32.dll_GetDC]
sub esp, 4
mov esi, eax
mov dword [esp + 4], 0x5a
mov dword [esp], eax
call dword [sym.imp.gdi32.dll_GetDeviceCaps]
sub esp, 8
mov ebx, eax
mov dword [esp + 4], esi
mov dword [esp], 0
call dword [sym.imp.user32.dll_ReleaseDC]
mov edx, dword [sym.imp.user32.dll_SystemParametersInfoW]
mov eax, dword [ebp - 0xa34]
mov dword [ebp - 0x214], 0x1f8
sub esp, 8
mov dword [ebp - 0xa24], edx
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
mov dword [esp + 4], 0x1f8
mov dword [esp], 0x29
call edx
mov eax, dword [0x4161dc]
mov esi, dword [sym.imp.kernel32.dll_MulDiv]
sub esp, 0x10
mov dword [esp + 8], ebx
mov dword [esp + 4], 0xfffffa60
mov dword [esp], eax
call esi
mov dword [ebp - 0x138], eax
sub esp, 0xc
mov dword [ebp - 0x13c], eax
mov eax, dword [0x4165cc]
mov dword [esp + 8], ebx
mov dword [esp + 4], 0xfffffa60
mov dword [esp], eax
call esi
mov dword [ebp - 0x200], eax
sub esp, 0xc
mov dword [ebp - 0x204], eax
mov eax, dword [0x4162bc]
mov dword [esp + 8], ebx
mov dword [esp + 4], 0xfffffa60
mov dword [esp], eax
call esi
mov dword [ebp - 0x208], eax
sub esp, 0xc
mov dword [ebp - 0x20c], eax
mov eax, dword [ebp - 0x1a0]
mov dword [esp + 8], ebx
mov dword [esp + 4], 0xfffffa60
mov dword [esp], eax
call esi
mov dword [ebp - 0x1a0], eax
mov eax, dword [ebp - 0x19c]
sub esp, 0xc
mov dword [esp + 8], ebx
mov ebx, 0x416e84
mov dword [esp + 4], 0xfffffa60
mov dword [esp], eax
call esi
mov esi, 0x416254
mov ecx, 0x17
mov edx, dword [ebp - 0xa24]
mov dword [ebp - 0x19c], eax
mov eax, dword [ebp - 0xa34]
sub esp, 0xc
rep movsd dword es:[edi], dword [esi]
mov esi, 0x416644
lea edi, [ebp - 0x1fc]
mov ecx, 0x17
rep movsd dword es:[edi], dword [esi]
mov esi, 0x416484
lea edi, [ebp - 0xd8]
mov ecx, 0x17
rep movsd dword es:[edi], dword [esi]
mov esi, 0x416794
lea edi, [ebp - 0x7c]
mov ecx, 0x17
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0xc], 3
mov dword [esp + 8], eax
mov dword [esp + 4], 0x1f8
mov dword [esp], 0x2a
call edx
mov eax, 0x416084
xor edx, edx
sub esp, 0x10
lea esi, [esi]
mov ecx, dword [eax]
cmp ecx, 0xffffffff
je 0x407811
mov dword [ebp + edx*4 - 0x624], ecx
mov ecx, dword [eax + 0xc]
mov dword [ebp + edx*4 - 0x41c], ecx
inc edx
add eax, 0x70
cmp ebx, eax
jne 0x4077f8
lea eax, [ebp - 0x41c]
mov dword [esp], edx
mov ebx, 0x418960
mov dword [esp + 8], eax
lea eax, [ebp - 0x624]
mov dword [esp + 4], eax
call dword [sym.imp.user32.dll_SetSysColors]
sub esp, 0xc
call sym._read_shell_folder_link_targets
mov eax, dword [ebp + 8]
call sym._update_shell_folder_listview
mov eax, dword [ebp + 8]
mov dword [esp + 4], 0x58d
mov dword [esp], eax
call dword [sym.imp.user32.dll_IsDlgButtonChecked]
sub esp, 8
cmp eax, 1
mov eax, 0x418964
mov dword [esp], 0x418968
cmovne ebx, eax
call sym._keypath
mov dword [esp + 0xc], ebx
mov dword [esp + 4], eax
mov eax, dword [0x415a44]
mov dword [esp + 8], str.Enable
mov dword [esp], eax
call sym._set_reg_key
mov dword [esp + 4], 0
mov dword [esp], sym._update_window_pos_proc_8
call dword [sym.imp.user32.dll_EnumWindows]
sub esp, 8
jmp 0x4062e5
mov dword [0x416edc], 1
call sym._scan_theme_files
mov eax, dword [ebp + 8]
mov ebx, dword [sym.imp.user32.dll_GetDlgItem]
mov dword [esp + 4], 0x57b
mov dword [esp], eax
call ebx
mov edi, eax
mov eax, dword [ebp + 8]
sub esp, 8
mov dword [esp + 4], 0x579
mov dword [esp], eax
call ebx
mov esi, eax
mov eax, dword [ebp + 8]
sub esp, 8
mov dword [esp + 4], 0x57d
mov dword [esp], eax
call ebx
mov ecx, edi
mov edx, esi
sub esp, 8
call sym._fill_theme_list
test eax, eax
jne 0x4079f9
mov eax, dword [ebp + 8]
mov dword [esp + 4], 0x579
mov dword [esp], eax
call ebx
mov esi, dword [sym.imp.user32.dll_SendMessageW]
sub esp, 8
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 0x14e
mov dword [esp], eax
call esi
mov eax, dword [ebp + 8]
sub esp, 0x10
mov dword [esp + 4], 0x57b
mov dword [esp], eax
call ebx
sub esp, 8
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 0x14e
mov dword [esp], eax
call esi
mov eax, dword [ebp + 8]
xor edx, edx
sub esp, 0x10
call sym._enable_size_and_color_controls
mov eax, dword [ebp + 8]
mov dword [esp + 0x10], 0x80064
mov dword [0x416ecc], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x465
mov dword [esp + 4], 0x589
mov dword [esp], eax
call dword [sym.imp.user32.dll_SendDlgItemMessageW]
mov dword [0x416edc], 0
sub esp, 0x14
jmp case.0x406266.1410
cmp eax, 0x586
jne 0x406b8b
mov eax, dword [ebp + 8]
call sym._on_sysparam_change
jmp case.0x406266.1410
xor eax, eax
jmp 0x4064d1
xor eax, eax
jmp 0x406549
mov eax, dword [ebp + 8]
mov edx, 1
call sym._enable_size_and_color_controls
jmp 0x40798b
mov edx, 0x2110
test al, 4
jne 0x407a20
shl eax, 9
and eax, 0x200
or eax, 0x2010
mov edx, eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 0xc], edx
mov dword [esp + 8], 4
add eax, 0x1c
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.user32.dll_DrawFrameControl]
mov eax, dword [ebp + 0x14]
sub esp, 0x10
mov eax, dword [eax + 0x1c]
mov dword [ebp - 0x41c], eax
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 0x20]
mov dword [ebp - 0x418], eax
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x414], eax
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 0x28]
mov dword [ebp - 0x410], eax
jmp 0x406d2b
mov eax, dword [0x416ec4]
lea edx, [edi - 1]
mov ebx, dword [sym.imp.comctl32.dll_DSA_GetItemPtr]
mov dword [esp + 4], edx
mov dword [esp], eax
call ebx
mov ecx, dword [eax]
mov edx, eax
mov eax, dword [ebp - 0xa24]
sub esp, 8
mov dword [ebp - 0xa24], edx
mov dword [esp + 4], eax
mov eax, dword [edx + 8]
mov dword [ebp - 0xa28], ecx
mov dword [esp], eax
call ebx
mov edx, dword [ebp - 0xa24]
sub esp, 8
mov edi, dword [eax]
mov dword [esp + 4], esi
mov eax, dword [edx + 0x10]
mov dword [esp], eax
call ebx
mov edx, dword [ebp - 0xa34]
mov ecx, dword [ebp - 0xa28]
sub esp, 8
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], edx
mov eax, dword [eax]
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov dword [esp], ecx
call sym._OpenThemeFile_20
sub esp, 0x14
mov dword [esp + 8], 0
mov dword [esp + 4], 0x415820
test eax, eax
js 0x407f2f
mov eax, dword [ebp - 0x214]
mov dword [esp], eax
call sym._ApplyTheme_12
mov eax, dword [ebp - 0x214]
sub esp, 0xc
mov dword [esp], eax
call sym._CloseThemeFile_4
sub esp, 4
jmp 0x40758d
lea eax, [ebp - 0x41c]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.user32.dll_DrawFocusRect]
sub esp, 8
jmp 0x406d1f
mov eax, dword [ebp + 0x14]
mov dword [esp + 8], 0
mov eax, dword [eax + 0x18]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 0x14]
mov dword [esp], eax
call dword [sym.imp.uxtheme.dll_DrawThemeParentBackground]
sub esp, 0xc
jmp 0x406c49
mov eax, dword [ebp + 8]
mov dword [esp + 4], 0x584
mov dword [esp], eax
call dword [sym.imp.user32.dll_GetDlgItem]
sub esp, 8
mov esi, eax
mov dword [esp], eax
call dword [sym.imp.user32.dll_GetWindowTextLengthW]
sub esp, 4
inc eax
mov edi, eax
je 0x408340
add eax, eax
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_malloc]
mov ebx, eax
test eax, eax
je 0x408340
mov dword [esp + 8], edi
mov dword [esp + 4], eax
mov dword [esp], esi
call dword [sym.imp.user32.dll_GetWindowTextW]
sub esp, 0xc
test eax, eax
je 0x40868f
mov eax, dword [ebp + 8]
mov dword [esp + 0x10], 2
mov dword [esp + 0xc], 0xffffffff
mov esi, dword [sym.imp.user32.dll_SendDlgItemMessageW]
mov dword [esp + 8], 0x100c
mov dword [esp + 4], 0x582
mov dword [esp], eax
call esi
mov edi, eax
sub esp, 0x14
mov eax, dword [0x416ea8]
test edi, edi
js 0x407f43
test eax, eax
je 0x407f43
add eax, 4
mov dword [esp + 8], ebx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x104
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 4], 0
mov dword [esp], 0xfdf2
call dword [sym.imp.kernel32.dll_WideCharToMultiByte]
lea eax, [ebp - 0x214]
mov dword [ebp - 0x214], 1
sub esp, 0x20
mov dword [ebp - 0x210], edi
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x20c], 1
mov dword [ebp - 0x200], ebx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x104c
mov dword [esp + 4], 0x582
mov dword [esp], eax
call esi
sub esp, 0x14
mov dword [esp], ebx
call dword [sym.imp.ucrtbase.dll_free]
jmp 0x406e91
mov dword [0x416ecc], 1
jmp 0x406b8b
mov eax, dword [ebp + 8]
mov esi, dword [sym.imp.user32.dll_GetDlgItem]
mov dword [esp + 4], 0x57d
mov dword [esp], eax
call esi
mov edi, dword [sym.imp.user32.dll_SendMessageW]
sub esp, 8
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x147
mov dword [esp], eax
call edi
mov dword [ebp - 0xa40], esi
mov ebx, eax
mov eax, dword [ebp + 8]
sub esp, 0x10
mov dword [esp + 4], 0x57b
mov dword [esp], eax
call esi
mov edx, dword [ebp + 8]
sub esp, 8
mov esi, eax
mov eax, dword [ebp - 0xa40]
mov dword [esp + 4], 0x579
mov dword [esp], edx
call eax
mov dword [ebp - 0xa24], eax
sub esp, 8
test ebx, ebx
jne 0x407f69
mov edx, dword [ebp + 8]
mov esi, dword [ebp - 0xa40]
mov dword [esp + 4], 0x579
mov dword [esp], edx
call esi
sub esp, 8
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 0x14e
mov dword [esp], eax
call edi
mov eax, dword [ebp + 8]
sub esp, 0x10
mov dword [esp + 4], 0x57b
mov dword [esp], eax
call esi
sub esp, 8
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 0x14e
mov dword [esp], eax
call edi
mov eax, dword [ebp + 8]
xor edx, edx
sub esp, 0x10
call sym._enable_size_and_color_controls
mov eax, dword [ebp + 8]
mov dword [esp + 4], 0x57e
xor ebx, ebx
mov dword [esp], eax
mov eax, dword [ebp - 0xa40]
call eax
sub esp, 8
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x147
mov dword [esp], eax
call edi
sub esp, 0x10
test eax, eax
sete bl
mov dword [esp + 8], str.AppsUseLightTheme
mov dword [esp + 0xc], ebx
mov dword [esp + 4], str.SoftwareMicrosoftWindowsCurrentVersionThemesPersonalize
mov dword [esp], Ordinal_2
call sym._set_reg_key_dword
mov dword [esp + 0xc], ebx
mov dword [esp + 8], str.SystemUsesLightTheme
mov dword [esp + 4], str.SoftwareMicrosoftWindowsCurrentVersionThemesPersonalize
mov dword [esp], Ordinal_2
call sym._set_reg_key_dword
mov dword [0x416ecc], 1
jmp 0x406b91
mov eax, dword [ebp + 8]
mov dword [esp + 8], 0
mov dword [0x416ea8], 0
mov dword [esp + 4], 0x583
mov dword [esp], eax
call dword [sym.imp.user32.dll_CheckDlgButton]
mov eax, dword [ebp + 8]
mov ebx, dword [sym.imp.user32.dll_GetDlgItem]
sub esp, 0xc
mov dword [esp + 4], 0x584
mov dword [esp], eax
call ebx
sub esp, 8
mov dword [esp + 4], 0x418920
mov dword [esp], eax
call dword [sym.imp.user32.dll_SetWindowTextA]
mov eax, dword [ebp + 8]
sub esp, 8
mov dword [esp + 4], 0x583
mov dword [esp], eax
call ebx
mov esi, dword [sym.imp.user32.dll_EnableWindow]
sub esp, 8
mov dword [esp + 4], 0
mov dword [esp], eax
call esi
mov eax, dword [ebp + 8]
sub esp, 8
mov dword [esp + 4], 0x584
mov dword [esp], eax
call ebx
sub esp, 8
mov dword [esp + 4], 0
mov dword [esp], eax
call esi
mov eax, dword [ebp + 8]
sub esp, 8
mov dword [esp + 4], 0x585
mov dword [esp], eax
call ebx
sub esp, 8
mov dword [esp + 4], 0
mov dword [esp], eax
call esi
sub esp, 8
jmp case.0x406266.1410
mov dword [esp], 0
call sym._ApplyTheme_12
sub esp, 0xc
jmp 0x40758d
mov esi, dword [sym.imp.ucrtbase.dll_free]
mov dword [esp], ebx
call esi
jmp case.0x406266.1410
mov eax, dword [0x416ea8]
mov byte [eax + 4], 0
mov eax, dword [ebp + 8]
call sym._update_shell_folder_listview
jmp 0x406e91
mov eax, dword [0x416ec4]
dec ebx
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [sym.imp.comctl32.dll_DSA_GetItemPtr]
mov edx, dword [ebp - 0xa24]
mov ecx, esi
sub esp, 8
mov ebx, eax
call sym._fill_color_size_combos
lea eax, [ebp - 0x214]
mov dword [esp + 0x14], 0x104
mov dword [ebp - 0xa34], eax
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x41c]
mov dword [ebp - 0xa38], eax
mov dword [esp + 8], eax
lea eax, [ebp - 0x624]
mov dword [esp + 0xc], 0x104
mov dword [esp + 4], 0x104
mov dword [ebp - 0xa44], eax
mov dword [esp], eax
call dword [sym.imp.uxtheme.dll_GetCurrentThemeName]
sub esp, 0x18
test eax, eax
js 0x408002
mov eax, dword [ebx]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xa44]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_lstrcmpiW]
sub esp, 8
test eax, eax
je 0x40866a
mov eax, dword [ebp - 0xa24]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x14e
mov dword [esp], eax
call edi
sub esp, 0x10
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x14e
mov dword [esp], esi
call edi
sub esp, 0x10
mov eax, dword [ebp + 8]
mov edx, 1
call sym._enable_size_and_color_controls
jmp 0x407dd6
mov dword [esp], ebx
call dword [sym.imp.ucrtbase.dll_free]
mov eax, dword [ebp + 8]
mov ebx, dword [sym.imp.user32.dll_SendDlgItemMessageW]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x147
mov dword [esp + 4], 0x586
mov dword [esp], eax
call ebx
sub esp, 0x14
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0x150
mov dword [esp + 4], 0x586
mov dword [esp], eax
call ebx
imul eax, eax, 0x70
sub esp, 0x14
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0x470
add eax, 0x41608c
mov dword [esp + 4], 0x589
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call ebx
sub esp, 0x14
jmp 0x406e91
lea eax, [ebp - 0x41c]
mov dword [esp + 0xc], 0
mov dword [ebp - 0xa38], eax
mov dword [esp + 0x10], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x8038
mov dword [esp], 0
call dword [sym.imp.shell32.dll_SHGetFolderPathW]
sub esp, 0x14
test eax, eax
js case.0x406266.1410
mov eax, dword [ebp - 0xa48]
mov dword [esp], eax
call dword [sym.imp.shlwapi.dll_PathFindExtensionW]
push edx
mov dword [esp + 4], str..theme
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_lstrcmpiW]
push ecx
push ecx
test eax, eax
je 0x408413
mov eax, dword [ebp - 0xa48]
mov dword [esp], eax
call dword [sym.imp.shlwapi.dll_PathRemoveExtensionW]
cmp word [ebp - 0x41c], 0
mov eax, dword [ebp - 0xa38]
push edi
je 0x408183
add eax, 2
cmp word [eax], 0
jne 0x40817a
xor edx, edx
movzx ecx, word [edx + str._themes_]
mov word [eax + edx], cx
add edx, 2
test cx, cx
jne 0x408185
cmp word [ebp - 0x41c], 0
mov eax, dword [ebp - 0xa38]
je 0x4081b1
add eax, 2
cmp word [eax], 0
jne 0x4081a8
xor edx, edx
mov edi, dword [ebp - 0xa48]
movzx ecx, word [edi + edx]
mov word [eax + edx], cx
add edx, 2
test cx, cx
jne 0x4081b3
mov edi, dword [ebp - 0xa38]
mov eax, dword [ebp + 8]
mov dword [esp + 8], 0
mov dword [esp + 4], edi
mov dword [esp], eax
call dword [sym.imp.shell32.dll_SHCreateDirectoryExW]
sub esp, 0xc
cmp word [ebp - 0x41c], 0
je 0x4086d0
mov eax, edi
add eax, 2
cmp word [eax], 0
jne 0x4081fa
xor edx, edx
movzx ecx, word [edx + 0x418ade]
mov word [eax + edx], cx
add edx, 2
test cx, cx
jne 0x408205
mov eax, dword [ebp - 0xa44]
mov dword [esp], eax
call dword [sym.imp.shlwapi.dll_PathFindFileNameW]
cmp word [ebp - 0x41c], 0
mov edx, eax
push esi
mov eax, dword [ebp - 0xa38]
je 0x408243
add eax, 2
cmp word [eax], 0
jne 0x40823a
movzx ecx, word [edx + ebx]
mov word [eax + ebx], cx
add ebx, 2
test cx, cx
jne 0x408243
cmp word [ebp - 0x41c], 0
mov eax, dword [ebp - 0xa38]
je 0x40826c
add eax, 2
cmp word [eax], 0
jne 0x408263
sub eax, dword [ebp - 0xa38]
sar eax, 1
cmp word [ebp - 0x624], 0
mov word [ebp + eax*2 - 0x41a], 0
mov eax, dword [ebp - 0xa44]
je 0x408297
add eax, 2
cmp word [eax], 0
jne 0x40828e
sub eax, dword [ebp - 0xa44]
sar eax, 1
mov word [ebp + eax*2 - 0x622], 0
test byte [0x4150a0], 8
jne 0x4087ff
mov dword [ebp - 0x210], 2
mov eax, dword [ebp + 8]
mov word [ebp - 0x204], 0x200
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0xa44]
mov dword [ebp - 0x20c], eax
mov eax, dword [ebp - 0xa38]
mov dword [ebp - 0x208], eax
lea eax, [ebp - 0x214]
mov dword [esp], eax
call dword [sym.imp.shell32.dll_SHFileOperationW]
push ebx
test eax, eax
je 0x408730
test byte [0x4150a0], 8
je case.0x406266.1410
mov dword [esp + 0xc], str.copy_operation_failed_n
mov dword [esp + 8], str.on_theme_install
mov dword [esp + 4], 0x4150a0
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_7
jmp case.0x406266.1410
mov eax, dword [ebp + 8]
mov dword [esp + 0x10], 2
xor ebx, ebx
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], 0x100c
mov dword [esp + 4], 0x582
mov dword [esp], eax
call dword [sym.imp.user32.dll_SendDlgItemMessageW]
mov esi, dword [sym.imp.ucrtbase.dll_free]
sub esp, 0x14
jmp 0x407f49
mov eax, dword [ebp + 8]
mov dword [esp + 8], 0
mov dword [esp + 4], 0x583
mov dword [esp], eax
call dword [sym.imp.user32.dll_CheckDlgButton]
mov eax, dword [ebp + 8]
mov edi, dword [ebp - 0xa40]
sub esp, 0xc
mov dword [esp + 4], 0x584
mov dword [esp], eax
call edi
sub esp, 8
mov dword [esp + 4], 0
mov dword [esp], eax
call ebx
mov eax, dword [ebp + 8]
sub esp, 8
mov dword [esp + 4], 0x585
mov dword [esp], eax
call edi
sub esp, 8
mov dword [esp + 4], 0
mov dword [esp], eax
call ebx
mov eax, dword [ebp + 8]
sub esp, 8
mov dword [esp + 4], 0x584
mov dword [esp], eax
call edi
sub esp, 8
mov dword [esp + 4], 0x418920
mov dword [esp], eax
call dword [sym.imp.user32.dll_SetWindowTextA]
sub esp, 8
jmp case.0x406266.1410
mov dword [ebp - 0xa20], 0
mov dword [ebp - 0xa1c], 0
mov dword [ebp - 0xa18], 0
test byte [0x4150a0], 8
jne 0x4086f8
mov dword [esp], 0x400
mov edi, 0x200
call dword [sym.imp.ucrtbase.dll_malloc]
mov esi, dword [sym.imp.ucrtbase.dll_realloc]
mov dword [ebp - 0xa24], eax
test eax, eax
jne 0x40848e
jmp 0x4086db
mov eax, dword [ebp - 0xa24]
lea edx, [ebx*4]
add edi, edi
mov dword [esp + 4], edx
mov dword [esp], eax
call esi
mov dword [ebp - 0xa24], eax
test eax, eax
je 0x4086db
mov eax, dword [ebp - 0xa44]
mov dword [esp + 0x10], edi
mov ebx, edi
mov dword [esp + 8], 0
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0xa24]
mov dword [esp + 4], 0
mov dword [esp + 0xc], eax
mov dword [esp], str.Control_PanelColors
call dword [sym.imp.kernel32.dll_GetPrivateProfileStringW]
mov ecx, eax
lea eax, [edi - 2]
sub esp, 0x18
cmp ecx, eax
jae 0x408468
mov eax, dword [ebp - 0xa24]
cmp word [eax], 0
je 0x408611
lea eax, [ebp - 0x214]
mov ebx, dword [ebp - 0xa24]
mov dword [ebp - 0xa34], eax
mov eax, dword [ebp - 0xa44]
mov dword [esp + 0x10], 0x104
mov dword [esp + 8], 0
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0xa34]
mov dword [esp + 4], ebx
mov dword [esp + 0xc], eax
mov dword [esp], str.Control_PanelColors
call dword [sym.imp.kernel32.dll_GetPrivateProfileStringW]
sub esp, 0x18
test byte [0x4150a0], 8
jne 0x408625
lea eax, [ebp - 0xa18]
mov dword [esp + 4], str._d__d__d
mov edi, 0x416088
xor esi, esi
mov dword [esp + 0x10], eax
lea eax, [ebp - 0xa1c]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0xa20]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xa34]
mov dword [esp], eax
call sym._swscanf.constprop.0
mov eax, dword [ebp - 0xa20]
mov dword [ebp - 0xa28], eax
mov eax, dword [ebp - 0xa1c]
mov dword [ebp - 0xa2c], eax
mov eax, dword [ebp - 0xa18]
mov dword [ebp - 0xa30], eax
jmp 0x4085a9
inc esi
add edi, 0x70
cmp esi, 0x20
je 0x4085fb
mov dword [esp + 4], ebx
mov eax, dword [edi]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll__wcsicmp]
test eax, eax
jne 0x4085a0
mov edx, dword [ebp - 0xa2c]
mov eax, dword [ebp - 0xa30]
movzx edi, byte [ebp - 0xa28]
shl edx, 8
shl eax, 0x10
and eax, 0xff0000
movzx edx, dx
or edx, eax
imul eax, esi, 0x70
or edx, edi
mov dword [eax + 0x416090], edx
mov eax, esi
call sym._save_sys_color
jmp 0x4085fb
add ebx, 2
cmp word [ebx], 0
jne 0x4085f8
mov eax, ebx
add ebx, 2
cmp word [eax + 2], 0
jne 0x4084f3
mov eax, dword [ebp - 0xa24]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_free]
jmp 0x406e91
mov eax, dword [ebp - 0xa34]
call sym._wine_dbgstr_wn.constprop.0_3
mov esi, eax
mov eax, ebx
call sym._wine_dbgstr_wn.constprop.0_3
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.parsing_key:__s_with_value:__s_n
mov dword [esp + 8], str.do_parse_theme
mov dword [esp + 4], 0x4150a0
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_7
jmp 0x408538
mov eax, dword [ebp - 0xa34]
mov ecx, dword [ebp - 0xa24]
mov dword [esp + 4], esi
mov edx, dword [ebp - 0xa38]
mov dword [esp], eax
mov eax, ebx
call sym._select_color_and_size
jmp 0x408048
mov dword [esp], ebx
mov esi, dword [sym.imp.ucrtbase.dll_free]
xor ebx, ebx
call esi
mov eax, dword [ebp + 8]
mov dword [esp + 0x10], 2
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], 0x100c
mov dword [esp + 4], 0x582
mov dword [esp], eax
call dword [sym.imp.user32.dll_SendDlgItemMessageW]
sub esp, 0x14
jmp 0x407f49
mov eax, dword [ebp - 0xa38]
jmp 0x408203
mov dword [esp + 8], 0x260
mov dword [esp + 4], str..._src_wine_programs_winecfg_theme.c
mov dword [esp], str.keyName
call dword [sym.imp.ucrtbase.dll__assert]
mov eax, dword [ebp - 0xa44]
call sym._wine_dbgstr_wn.constprop.0_3
mov dword [esp + 0xc], 0x418a78
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.do_parse_theme
mov dword [esp + 4], 0x4150a0
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_7
jmp 0x40843e
call sym._scan_theme_files
mov eax, dword [ebp + 8]
mov ebx, dword [sym.imp.user32.dll_GetDlgItem]
mov dword [esp + 4], 0x57b
mov dword [esp], eax
call ebx
push esi
mov edi, eax
mov eax, dword [ebp + 8]
push esi
mov dword [esp + 4], 0x579
mov dword [esp], eax
call ebx
push edx
mov esi, eax
mov eax, dword [ebp + 8]
push edx
mov dword [esp + 4], 0x57d
mov dword [esp], eax
call ebx
mov edx, esi
push ecx
push ecx
mov ecx, edi
call sym._fill_theme_list
test eax, eax
jne 0x408848
mov eax, dword [ebp + 8]
mov dword [esp + 4], 0x579
mov dword [esp], eax
call ebx
mov esi, dword [sym.imp.user32.dll_SendMessageW]
push ecx
push ecx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 0x14e
mov dword [esp], eax
call esi
mov eax, dword [ebp + 8]
sub esp, 0x10
mov dword [esp + 4], 0x57b
mov dword [esp], eax
call ebx
push ebx
push ebx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 0x14e
mov dword [esp], eax
call esi
mov eax, dword [ebp + 8]
xor edx, edx
sub esp, 0x10
call sym._enable_size_and_color_controls
jmp case.0x406266.1410
mov eax, dword [ebp - 0xa38]
call sym._wine_dbgstr_wn.constprop.0_3
mov ebx, eax
mov eax, dword [ebp - 0xa44]
call sym._wine_dbgstr_wn.constprop.0_3
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.copying:__s_____s_n
mov dword [esp + 8], str.on_theme_install
mov dword [esp + 4], 0x4150a0
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_7
jmp 0x4082b6
mov eax, dword [ebp + 8]
mov edx, 1
call sym._enable_size_and_color_controls
jmp case.0x406266.1410