Function at 0x40f480
Capabilities:
Contain obfuscated stackstrings
Copy file
Create directory
Decompress data using ucl
Enumerate gui resources
Get common file path
Get graphical window text
Query or enumerate registry value
Read .ini file

Disassembly:
lea ecx, [esp + 4]
and esp, 0xfffffff0
push dword [ecx - 4]
push ebp
mov ebp, esp
push edi
push esi
push ebx
push ecx
sub esp, 0xba8
mov eax, dword [ecx]
mov edx, dword [ecx + 8]
mov ebx, dword [ecx + 0xc]
mov dword [ebp - 0xb70], eax
mov eax, dword [ecx + 4]
cmp eax, 0x4e
je 0x40f580
ja 0x40f4f0
cmp eax, 0x18
je 0x40f558
cmp eax, 0x2b
jne 0x40f538
mov eax, dword [0x428260]
test eax, eax
je 0x410620
cmp dword [ebx + 4], 0x58b
je 0x4103e0
lea esp, [ebp - 0x10]
xor eax, eax
pop ecx
pop ebx
pop esi
pop edi
pop ebp
lea esp, [ecx - 4]
ret 0x10
cmp eax, 0x110
je 0x40f5d8
cmp eax, 0x111
jne case.0x40f52b.1410
mov ebx, edx
shr ebx, 0x10
cmp ebx, 1
je 0x410350
cmp ebx, 0x300
je 0x410640
test ebx, ebx
jne case.0x40f52b.1410
lea eax, [edx - 0x581]
cmp eax, 0xc
ja case.0x40f52b.1410
jmp dword [eax*4 + 0x41b724]
cmp eax, 2
jne case.0x40f52b.1410
call sym._free_theme_files
lea esp, [ebp - 0x10]
xor eax, eax
pop ecx
pop ebx
pop esi
pop edi
pop ebp
lea esp, [ecx - 4]
ret 0x10
mov eax, dword [ebp - 0xb70]
mov dword [esp], eax
call sym._set_window_title
lea esp, [ebp - 0x10]
xor eax, eax
pop ecx
pop ebx
pop esi
pop edi
pop ebp
lea esp, [ecx - 4]
ret 0x10
mov eax, dword [ebx + 8]
cmp eax, 0xffffff38
je 0x410b58
ja 0x40fc70
cmp eax, 0xffffff36
je 0x410758
cmp eax, 0xffffff37
jne case.0x40f52b.1410
mov eax, dword [ebp - 0xb70]
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.0x40f52b.1410
call sym._read_shell_folder_link_targets
lea edi, [ebp - 0x41c]
xor eax, eax
mov ecx, 0x19
rep stosd dword es:[edi], eax
lea edi, [ebp - 0x214]
mov ecx, 0x1b
mov esi, dword [sym.imp.kernel32.dll_GetModuleHandleW]
rep stosd dword es:[edi], eax
lea edi, [ebp - 0x438]
mov dword [ebp - 0x438], 0x680053
mov dword [ebp - 0xb7c], esi
mov dword [ebp - 0x434], 0x6c0065
mov dword [ebp - 0x430], 0x20006c
mov dword [ebp - 0x42c], 0x6f0046
mov dword [ebp - 0x428], 0x64006c
mov dword [ebp - 0x424], 0x720065
mov dword [ebp - 0x420], 0
mov dword [ebp - 0x228], 0x69004c
mov dword [ebp - 0x224], 0x6b006e
mov dword [ebp - 0x220], 0x200073
mov dword [ebp - 0x21c], 0x6f0074
mov dword [ebp - 0x218], 0
mov dword [esp], 0
call esi
mov ebx, dword [sym.imp.user32.dll_LoadStringW]
mov dword [ebp - 0xb80], edi
sub esp, 4
mov dword [ebp - 0xb78], 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 - 0x228]
lea esi, [ebp - 0x848]
sub esp, 4
mov dword [ebp - 0xb6c], 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 - 0xb70]
sub esp, 0x10
mov dword [esp], eax
mov eax, dword [sym.imp.user32.dll_GetDlgItem]
mov dword [esp + 4], 0x582
mov dword [ebp - 0xb88], eax
call eax
mov dword [ebp - 0xb90], esi
sub esp, 8
mov dword [esp + 4], esi
mov dword [esp], eax
call dword [sym.imp.user32.dll_GetClientRect]
mov ecx, dword [ebp - 0x840]
mov edx, 0x55555556
sub ecx, dword [ebp - 0x848]
mov eax, ecx
sar ecx, 0x1f
sub esp, 8
mov dword [ebp - 0x640], 0xe
imul edx
mov dword [ebp - 0x634], edi
sub edx, ecx
cmp word [ebp - 0x438], 0
mov ebx, edx
je 0x410ca0
mov eax, edi
lea esi, [esi]
add eax, 2
cmp word [eax], 0
jne 0x40f770
sub eax, dword [ebp - 0xb80]
sar eax, 1
mov dword [ebp - 0x630], eax
lea eax, [ebp - 0x640]
mov dword [ebp - 0xb8c], eax
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0xb70]
mov dword [ebp - 0x638], 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 - 0xb84], eax
call eax
mov eax, dword [ebp - 0xb6c]
sub esp, 0x14
cmp word [ebp - 0x228], 0
mov dword [ebp - 0x634], eax
je 0x410cb0
nop
lea esi, [esi]
add eax, 2
cmp word [eax], 0
jne 0x40f7f0
sub eax, dword [ebp - 0xb6c]
sar eax, 1
mov dword [ebp - 0x630], eax
mov eax, dword [ebp - 0x840]
xor esi, esi
sub eax, dword [ebp - 0x848]
mov edi, dword [ebp - 0xb70]
mov dword [esp + 0xc], 1
sub eax, ebx
mov dword [esp + 8], 0x1061
mov ebx, 0x417a60
sub eax, 1
mov dword [esp], edi
mov dword [ebp - 0x638], eax
mov eax, dword [ebp - 0xb8c]
mov dword [esp + 4], 0x582
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0xb84]
call eax
mov eax, edi
sub esp, 0x14
call sym._update_shell_folder_listview
mov dword [esp], edi
mov eax, dword [ebp - 0xb88]
mov dword [esp + 4], 0x586
call eax
mov edi, dword [sym.imp.user32.dll_SendMessageW]
mov dword [ebp - 0xb74], eax
sub esp, 8
lea esi, [esi]
mov dword [esp], 0
mov eax, dword [ebp - 0xb7c]
call eax
mov edx, dword [ebp - 0xb6c]
sub esp, 4
mov dword [esp + 8], edx
lea edx, [esi + 0x20d0]
mov dword [esp + 4], edx
mov dword [esp], eax
mov eax, dword [ebp - 0xb78]
mov dword [esp + 0xc], 0x100
call eax
mov edx, dword [ebp - 0xb6c]
mov eax, dword [ebp - 0xb74]
sub esp, 0x10
mov dword [esp + 0xc], edx
mov dword [esp + 8], 0
mov dword [esp + 4], 0x143
mov dword [esp], eax
call edi
sub esp, 0x10
cmp eax, 0xffffffff
je 0x40f90f
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xb74]
mov dword [esp + 0xc], esi
mov dword [esp + 4], 0x151
mov dword [esp], eax
call edi
sub esp, 0x10
mov eax, dword [ebx]
cmp eax, 0xffffffff
je 0x40f925
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 0x40f93c
mov dword [esp], eax
call dword [sym.imp.user32.dll_GetSysColor]
mov dword [ebx + 0x10], eax
sub esp, 4
add esi, 1
add ebx, 0x70
cmp esi, 0x20
jne 0x40f888
mov eax, dword [ebp - 0xb80]
mov dword [esp + 0xc], 0
lea esi, [ebp - 0x358]
mov dword [ebp - 0x438], 0x1f8
mov dword [esp + 8], eax
mov dword [esp + 4], 0x1f8
mov dword [esp], 0x29
call dword [sym.imp.user32.dll_SystemParametersInfoW]
mov eax, 0x417c34
mov ecx, 0x17
mov edi, eax
mov eax, 0x418024
sub esp, 0x10
rep movsd dword es:[edi], dword [esi]
mov edi, eax
mov eax, 0x417e64
lea esi, [ebp - 0x420]
mov ecx, 0x17
rep movsd dword es:[edi], dword [esi]
mov edi, eax
mov eax, 0x418174
lea esi, [ebp - 0x2fc]
mov ecx, 0x17
rep movsd dword es:[edi], dword [esi]
mov edi, eax
lea esi, [ebp - 0x2a0]
mov ecx, 0x17
rep movsd dword es:[edi], dword [esi]
mov dword [esp], str.FileOpenAssociations
call sym._keypath
mov dword [esp + 0xc], 0x41b4b2
mov dword [esp + 4], eax
mov eax, dword [0x4282e8]
mov dword [esp + 8], str.Enable
mov dword [esp], eax
call sym._get_reg_key
mov edi, dword [ebp - 0xb70]
movzx edx, word [eax]
mov ebx, eax
mov dword [esp + 4], 0x58d
mov dword [esp], edi
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
movzx eax, al
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 ebx, dword [ebp - 0xb84]
mov dword [esp], edi
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x14b
mov dword [esp + 4], 0x57e
call ebx
mov edx, dword [ebp - 0xb7c]
sub esp, 0x14
mov dword [esp], 0
call edx
mov esi, dword [ebp - 0xb6c]
mov ecx, dword [ebp - 0xb78]
sub esp, 4
mov dword [esp + 0xc], 0x100
mov dword [esp + 8], esi
mov dword [esp + 4], 0x57f
mov dword [esp], eax
call ecx
sub esp, 0x10
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x143
mov dword [esp + 4], 0x57e
mov dword [esp], edi
call ebx
mov edx, dword [ebp - 0xb7c]
sub esp, 0x14
mov dword [esp], 0
call edx
mov ecx, dword [ebp - 0xb78]
sub esp, 4
mov dword [esp + 0xc], 0x100
mov dword [esp + 8], esi
mov dword [esp + 4], 0x580
mov dword [esp], eax
call ecx
sub esp, 0x10
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x143
mov dword [esp + 4], 0x57e
mov dword [esp], edi
call ebx
mov eax, dword [ebp - 0xb80]
mov dword [ebp - 0x974], 0
mov dword [ebp - 0x848], 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 0x40fbec
mov eax, dword [ebp - 0xb90]
mov dword [esp + 8], 0
mov dword [esp + 4], str.AppsUseLightTheme
mov dword [esp + 0x14], eax
lea eax, [ebp - 0x974]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0xb8c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x438]
mov dword [esp], eax
call dword [sym.imp.advapi32.dll_RegQueryValueExW]
sub esp, 0x18
test eax, eax
je 0x4103c8
mov dword [ebp - 0x974], 1
mov eax, dword [ebp - 0x438]
mov dword [esp], eax
call dword [sym.imp.advapi32.dll_RegCloseKey]
mov eax, dword [ebp - 0x974]
sub esp, 4
mov eax, dword [eax*8 + 0x41b7f0]
mov edi, dword [ebp - 0xb70]
mov esi, dword [ebp - 0xb84]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
mov dword [esp], edi
mov dword [esp + 8], 0x14e
mov dword [esp + 4], 0x57e
call esi
mov eax, dword [ebp - 0xb88]
sub esp, 0x14
mov dword [esp], edi
mov dword [esp + 4], 0x588
call eax
sub esp, 8
mov dword [esp], edi
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x469
mov dword [esp + 4], 0x589
call esi
xor eax, eax
sub esp, 0x14
lea esp, [ebp - 0x10]
pop ecx
pop ebx
pop esi
pop edi
pop ebp
lea esp, [ecx - 4]
ret 0x10
cmp eax, 0xffffff9b
jne case.0x40f52b.1410
cmp edx, 0x582
jne case.0x40f52b.1410
test byte [ebx + 0x14], 2
je 0x411144
mov eax, dword [ebx + 0x28]
mov esi, dword [ebp - 0xb70]
mov dword [esp + 4], 0x583
mov edi, dword [sym.imp.user32.dll_GetDlgItem]
mov dword [0x4282c0], eax
mov dword [esp], esi
mov dword [ebp - 0xb88], edi
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 [0x4282c0]
sub esp, 8
cmp byte [eax + 4], 0
je 0x411658
mov dword [esp], esi
mov dword [esp + 8], 1
mov dword [esp + 4], 0x583
call dword [sym.imp.user32.dll_CheckDlgButton]
sub esp, 0xc
mov dword [esp], esi
mov dword [esp + 4], 0x584
call edi
sub esp, 8
mov dword [esp + 4], 1
mov dword [esp], eax
call ebx
sub esp, 8
mov dword [esp], esi
mov dword [esp + 4], 0x585
call edi
sub esp, 8
mov dword [esp + 4], 1
mov dword [esp], eax
call ebx
mov eax, dword [0x4282c0]
mov edx, dword [sym.imp.kernel32.dll_MultiByteToWideChar]
sub esp, 8
lea esi, [eax + 4]
mov dword [ebp - 0xb6c], 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
lea eax, [eax + eax]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_malloc]
mov ebx, eax
test eax, eax
je 0x40fdc0
mov dword [esp + 0x14], edi
mov edx, dword [ebp - 0xb6c]
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 - 0xb70]
mov dword [esp + 4], 0x584
mov dword [esp], eax
mov eax, dword [ebp - 0xb88]
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.0x40f52b.1410
mov edi, dword [ebp - 0xb70]
mov eax, edi
call sym._update_mime_types
mov eax, edi
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.0x40f52b.1410
mov edi, dword [ebp - 0xb70]
mov ebx, dword [sym.imp.user32.dll_SendDlgItemMessageW]
mov dword [esp + 0x10], 0
lea esi, [ebp - 0x228]
mov dword [esp + 0xc], 0
mov dword [esp], edi
mov dword [esp + 8], 0x147
mov dword [esp + 4], 0x586
call ebx
mov dword [ebp - 0xb70], edi
sub esp, 0x14
mov dword [esp], edi
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x150
mov dword [esp + 4], 0x586
call ebx
lea ebx, [ebp - 0x220]
mov ecx, 0xd
mov edx, eax
mov edi, ebx
xor eax, eax
sub esp, 0x14
rep stosd dword es:[edi], eax
imul eax, edx, 0x70
mov edi, dword [ebp - 0xb70]
mov dword [esp], esi
mov dword [ebp - 0x228], 0x3c
mov dword [ebp - 0x224], edi
mov dword [ebp - 0x214], 0x1800041
add eax, 0x417a74
mov dword [ebp - 0x21c], eax
call dword [sym.imp.comdlg32.dll_ChooseFontW]
sub esp, 4
test eax, eax
je case.0x40f52b.1410
mov eax, dword [ebp - 0xb70]
jmp 0x40fe09
mov edi, dword [ebp - 0xb70]
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], edi
call ebx
sub esp, 0x14
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x150
mov dword [esp + 4], 0x586
mov dword [esp], edi
call ebx
xor edx, edx
mov ebx, eax
sub esp, 0x14
xor eax, eax
mov dword [ebp + eax - 0x220], edx
add eax, 4
cmp eax, 0x1c
jb 0x40ff60
mov dword [ebp - 0x228], 0x24
imul esi, ebx, 0x70
mov dword [ebp - 0x218], 0x428280
mov dword [ebp - 0x214], 0x101
mov eax, dword [esi + 0x417a70]
add esi, 0x417a60
mov dword [ebp - 0x21c], eax
mov eax, dword [ebp - 0xb70]
mov dword [ebp - 0x224], eax
lea eax, [ebp - 0x228]
mov dword [esp], eax
call dword [sym.imp.comdlg32.dll_ChooseColorW]
sub esp, 4
test eax, eax
je case.0x40f52b.1410
mov edx, dword [ebp - 0x21c]
mov eax, ebx
mov dword [esi + 0x10], edx
call sym._save_sys_color
mov edi, dword [ebp - 0xb70]
mov dword [esp + 4], 0x58b
mov dword [esp], edi
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
mov dword [esp], edi
jmp 0x40fe0c
mov eax, dword [ebp - 0xb70]
lea ebx, [ebp - 0x228]
mov dword [esp + 4], ebx
mov dword [esp], eax
call sym._browse_for_unix_folder
test eax, eax
je case.0x40f52b.1410
mov eax, dword [0x4282c0]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
add eax, 4
mov dword [esp + 0x14], 0x104
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
mov dword [esp], 0xfdf2
call dword [sym.imp.kernel32.dll_WideCharToMultiByte]
mov edi, dword [ebp - 0xb70]
sub esp, 0x20
mov eax, edi
call sym._update_shell_folder_listview
mov eax, edi
jmp 0x40fe09
mov edi, dword [ebp - 0xb70]
mov dword [esp + 4], 0x583
mov dword [esp], edi
call dword [sym.imp.user32.dll_IsDlgButtonChecked]
sub esp, 8
test eax, eax
je 0x411215
lea ebx, [ebp - 0x228]
mov dword [esp], edi
mov dword [esp + 4], ebx
call sym._browse_for_unix_folder
test eax, eax
je 0x4116e9
mov eax, dword [0x4282c0]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
add eax, 4
mov dword [esp + 0x14], 0x104
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
mov dword [esp], 0xfdf2
call dword [sym.imp.kernel32.dll_WideCharToMultiByte]
mov eax, edi
sub esp, 0x20
call sym._update_shell_folder_listview
mov dword [esp], edi
jmp 0x40fe0c
mov eax, dword [sym.imp.kernel32.dll_GetModuleHandleW]
mov dword [esp], 0
lea esi, [ebp - 0xb04]
mov dword [ebp - 0xb7c], 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], esi
mov dword [esp + 4], 0xe
mov dword [ebp - 0xb78], eax
call eax
mov eax, esi
sub esp, 0x10
cmp word [ebp - 0xb04], 0
je 0x410181
lea esi, [esi]
add eax, 2
cmp word [eax], 0
jne 0x410178
mov edx, dword [0x41b7c0]
lea edi, [ebp - 0xa3c]
mov dword [eax], edx
mov edx, dword [0x41b7c4]
mov dword [eax + 4], edx
mov edx, dword [0x41b7c8]
mov dword [eax + 8], edx
mov edx, dword [0x41b7cc]
mov dword [eax + 0xc], edx
mov edx, dword [0x41b7d0]
mov dword [eax + 0x10], edx
mov edx, dword [0x41b7d4]
mov dword [eax + 0x14], edx
mov edx, dword [0x41b7d8]
mov dword [eax + 0x18], edx
mov edx, dword [0x41b7dc]
mov dword [eax + 0x1c], edx
mov edx, dword [0x41b7e0]
mov dword [eax + 0x20], edx
mov edx, dword [0x41b7e4]
mov dword [eax + 0x24], edx
movzx edx, word [0x41b7e8]
mov word [eax + 0x28], dx
mov eax, dword [ebp - 0xb7c]
mov dword [esp], 0
call eax
sub esp, 4
mov dword [esp], eax
mov eax, dword [ebp - 0xb78]
mov dword [esp + 0xc], 0x64
mov dword [esp + 8], edi
mov dword [esp + 4], 0xf
call eax
mov eax, dword [ebp - 0xb70]
mov dword [ebp - 0xb50], esi
sub esp, 0x10
mov dword [ebp - 0xb2c], edi
mov dword [ebp - 0xb58], eax
lea eax, [ebp - 0x640]
mov dword [ebp - 0xb8c], eax
mov dword [ebp - 0xb40], eax
xor eax, eax
mov word [ebp - 0x640], ax
lea eax, [ebp - 0x848]
mov dword [ebp - 0xb90], eax
mov dword [ebp - 0xb38], eax
xor eax, eax
mov word [ebp - 0x848], ax
lea eax, [ebp - 0xb5c]
mov dword [ebp - 0xb5c], 0x58
mov dword [ebp - 0xb54], 0
mov dword [ebp - 0xb4c], 0
mov dword [ebp - 0xb48], 0
mov dword [ebp - 0xb44], 0
mov dword [ebp - 0xb3c], 0x104
mov dword [ebp - 0xb34], 0x104
mov dword [ebp - 0xb30], 0
mov dword [ebp - 0xb28], 0x801804
mov dword [ebp - 0xb24], 0
mov dword [ebp - 0xb20], 0
mov dword [ebp - 0xb1c], 0
mov dword [ebp - 0xb18], 0
mov dword [ebp - 0xb14], 0
mov dword [esp], eax
call dword [sym.imp.comdlg32.dll_GetOpenFileNameW]
sub esp, 4
test eax, eax
jne 0x4113f9
test byte [0x418860], 8
je case.0x40f52b.1410
mov dword [esp + 0xc], str.user_cancelled_n
mov dword [esp + 8], str.on_theme_install
mov dword [esp + 4], 0x418860
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_7
jmp case.0x40f52b.1410
mov eax, dword [0x4282c8]
test eax, eax
jne case.0x40f52b.1410
movzx eax, dx
cmp dx, 0x57e
ja 0x410c84
cmp eax, 0x57c
ja 0x410f9d
mov eax, edx
and eax, 0xfffd
cmp eax, 0x579
je 0x410f8e
mov edi, dword [sym.imp.user32.dll_SendMessageW]
mov eax, dword [ebp - 0xb70]
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.0x40f52b.1410
cmp dword [ebp - 0x640], 4
jne 0x40fbc3
jmp 0x40fbcd
mov eax, dword [ebp - 0xb70]
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 esi, eax
sub esp, 0xc
mov eax, dword [ebx + 0x10]
test esi, esi
je 0x410cd5
mov edi, 4
test al, 4
jne 0x410432
and eax, 1
cmp eax, 1
sbb edi, edi
and edi, 0xfffffffe
add edi, 3
mov dword [esp + 8], edi
mov dword [esp + 4], 1
mov dword [esp], esi
call dword [sym.imp.uxtheme.dll_IsThemeBackgroundPartiallyTransparent]
sub esp, 0xc
test eax, eax
jne 0x410e18
lea edx, [ebx + 0x1c]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], edi
mov dword [esp + 8], 1
mov eax, dword [ebx + 0x18]
mov dword [ebp - 0xb6c], edx
mov dword [esp + 4], eax
mov dword [esp], esi
call dword [sym.imp.uxtheme.dll_DrawThemeBackground]
mov eax, dword [ebx + 0x1c]
mov edx, dword [ebp - 0xb6c]
sub esp, 0x18
mov dword [ebp - 0x438], eax
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0x434], eax
mov eax, dword [ebx + 0x24]
mov dword [ebp - 0x430], eax
mov eax, dword [ebx + 0x28]
mov dword [esp + 0x14], edx
mov dword [ebp - 0x42c], eax
lea eax, [ebp - 0x228]
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], 0xe12
mov dword [esp + 0xc], edi
mov dword [esp + 8], 1
mov eax, dword [ebx + 0x18]
mov dword [esp], esi
mov dword [esp + 4], eax
call dword [sym.imp.uxtheme.dll_GetThemeMargins]
movdqu xmm1, xmmword [ebp - 0x438]
movdqu xmm2, xmmword [ebp - 0x438]
pshufd xmm0, xmmword [ebp - 0x228], 0xd8
sub esp, 0x1c
paddd xmm1, xmm0
psubd xmm2, xmm0
shufps xmm1, xmm2, 0xe4
movups xmmword [ebp - 0x438], xmm1
test byte [ebx + 0x10], 0x10
jne 0x410dfa
mov dword [esp], esi
call dword [sym.imp.uxtheme.dll_CloseThemeData]
sub esp, 4
test byte [ebx + 0x10], 4
jne case.0x40f52b.1410
mov edi, dword [ebp - 0xb70]
mov esi, dword [sym.imp.user32.dll_SendDlgItemMessageW]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp], edi
mov dword [esp + 8], 0x147
mov dword [esp + 4], 0x586
call esi
sub esp, 0x14
mov dword [esp], edi
lea edi, [ebp - 0x438]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x150
mov dword [esp + 4], 0x586
call esi
imul eax, eax, 0x70
sub esp, 0x14
mov eax, dword [eax + 0x417a70]
mov dword [esp], eax
call dword [sym.imp.gdi32.dll_CreateSolidBrush]
movdqu xmm1, xmmword [ebp - 0x438]
movdqu xmm0, xmmword [0x41bb20]
mov esi, eax
mov eax, dword [0x428260]
sub esp, 4
mov dword [esp + 4], edi
paddd xmm1, xmm0
mov dword [esp + 8], eax
mov eax, dword [ebx + 0x18]
movups xmmword [ebp - 0x438], xmm1
mov dword [esp], eax
call dword [sym.imp.user32.dll_FrameRect]
movdqu xmm0, xmmword [0x41bb20]
paddd xmm0, xmmword [ebp - 0x438]
sub esp, 0xc
mov dword [esp + 8], esi
mov dword [esp + 4], edi
mov eax, dword [ebx + 0x18]
movups xmmword [ebp - 0x438], xmm0
mov dword [esp], eax
call dword [sym.imp.user32.dll_FillRect]
sub esp, 0xc
mov dword [esp], esi
call dword [sym.imp.gdi32.dll_DeleteObject]
sub esp, 4
jmp case.0x40f52b.1410
mov dword [esp], 0
call dword [sym.imp.gdi32.dll_CreateSolidBrush]
mov dword [0x428260], eax
sub esp, 4
jmp 0x40f4ce
mov eax, dword [0x4282c8]
test eax, eax
jne case.0x40f52b.1410
movzx eax, dx
cmp dx, 0x584
je 0x410e3b
cmp eax, 0x588
jne case.0x40f52b.1410
mov eax, dword [ebp - 0xb70]
mov dword [esp + 4], 0x588
mov dword [esp], eax
call dword [sym.imp.user32.dll_GetDlgItem]
sub esp, 8
mov ebx, eax
mov dword [esp], eax
call dword [sym.imp.user32.dll_GetWindowTextLengthW]
sub esp, 4
add eax, 1
mov edi, eax
je 0x411370
lea eax, [eax + eax]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_malloc]
mov esi, eax
test eax, eax
je 0x411370
mov dword [esp + 8], edi
mov dword [esp + 4], eax
mov dword [esp], ebx
call dword [sym.imp.user32.dll_GetWindowTextW]
sub esp, 0xc
test eax, eax
je 0x411367
mov edi, dword [ebp - 0xb70]
mov ebx, dword [sym.imp.user32.dll_SendDlgItemMessageW]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp], edi
mov dword [esp + 8], 0x147
mov dword [esp + 4], 0x586
call ebx
sub esp, 0x14
mov dword [esp], edi
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x150
mov dword [esp + 4], 0x586
call ebx
mov ebx, eax
sub esp, 0x14
imul ebx, ebx, 0x70
mov dword [esp + 8], 0xa
mov dword [esp + 4], 0
mov dword [esp], esi
call dword [sym.imp.ucrtbase.dll_wcstol]
mov dword [esp], esi
mov dword [ebx + 0x417a6c], eax
call dword [sym.imp.ucrtbase.dll_free]
jmp 0x40fef7
call sym._apply
mov edx, dword [0x4282c4]
lea eax, [ebp - 0x228]
mov dword [ebp - 0xb6c], eax
test edx, edx
je 0x4108ad
mov eax, dword [ebp - 0xb70]
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 - 0xb70]
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 - 0xb74], eax
mov eax, dword [ebp - 0xb70]
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
test edi, edi
jne 0x410d38
mov dword [esp + 8], 0
mov dword [esp + 4], 0x428264
mov dword [esp], 0
call sym._ApplyTheme_12
sub esp, 0xc
mov edi, dword [sym.imp.user32.dll_GetSystemMetrics]
mov esi, 0x417a60
mov ebx, 0x418860
lea esi, [esi]
mov eax, dword [esi]
cmp eax, 0xffffffff
je 0x41087a
mov dword [esp], eax
call edi
mov dword [esi + 0xc], eax
sub esp, 4
mov eax, dword [esi + 4]
cmp eax, 0xffffffff
je 0x410891
mov dword [esp], eax
call dword [sym.imp.user32.dll_GetSysColor]
mov dword [esi + 0x10], eax
sub esp, 4
add esi, 0x70
cmp ebx, esi
jne 0x410868
mov eax, dword [ebp - 0xb70]
call sym._on_sysparam_change
mov dword [0x4282c4], 0
mov ebx, dword [sym.imp.shell32.dll_SHGetFolderPathW]
mov edi, 0x417324
mov esi, 0x417a5c
lea esi, [esi]
mov eax, dword [ebp - 0xb6c]
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 0x410906
mov eax, dword [ebp - 0xb6c]
mov dword [esp + 4], edi
mov dword [esp], eax
call sym._set_shell_folder
add edi, 0x108
cmp esi, edi
jne 0x4108c0
mov dword [esp], 0
lea edi, [ebp - 0x148]
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 - 0xb6c]
mov dword [ebp - 0x228], 0x1f8
sub esp, 8
mov dword [ebp - 0xb74], 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 [0x417bbc]
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 - 0x14c], eax
sub esp, 0xc
mov dword [ebp - 0x150], eax
mov eax, dword [0x417fac]
mov dword [esp + 8], ebx
mov dword [esp + 4], 0xfffffa60
mov dword [esp], eax
call esi
mov dword [ebp - 0x214], eax
sub esp, 0xc
mov dword [ebp - 0x218], eax
mov eax, dword [0x417c9c]
mov dword [esp + 8], ebx
mov dword [esp + 4], 0xfffffa60
mov dword [esp], eax
call esi
mov dword [ebp - 0x21c], eax
sub esp, 0xc
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x1b4]
mov dword [esp + 8], ebx
mov dword [esp + 4], 0xfffffa60
mov dword [esp], eax
call esi
mov dword [ebp - 0x1b4], eax
mov eax, dword [ebp - 0x1b0]
sub esp, 0xc
mov dword [esp + 8], ebx
mov ebx, 0x418864
mov dword [esp + 4], 0xfffffa60
mov dword [esp], eax
call esi
mov esi, 0x417c34
mov ecx, 0x17
mov edx, dword [ebp - 0xb74]
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x1b0], eax
mov esi, 0x418024
sub esp, 0xc
mov eax, dword [ebp - 0xb6c]
lea edi, [ebp - 0x210]
mov ecx, 0x17
rep movsd dword es:[edi], dword [esi]
mov esi, 0x417e64
lea edi, [ebp - 0xec]
mov ecx, 0x17
rep movsd dword es:[edi], dword [esi]
mov esi, 0x418174
lea edi, [ebp - 0x90]
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, 0x417a64
xor edx, edx
sub esp, 0x10
lea esi, [esi]
mov ecx, dword [eax]
cmp ecx, 0xffffffff
je 0x410adb
mov dword [ebp + edx*4 - 0x640], ecx
mov ecx, dword [eax + 0xc]
mov dword [ebp + edx*4 - 0x438], ecx
add edx, 1
add eax, 0x70
cmp ebx, eax
jne 0x410ac0
lea eax, [ebp - 0x438]
mov dword [esp], edx
mov dword [esp + 8], eax
lea eax, [ebp - 0x640]
mov dword [esp + 4], eax
call dword [sym.imp.user32.dll_SetSysColors]
sub esp, 0xc
call sym._read_shell_folder_link_targets
mov edi, dword [ebp - 0xb70]
mov eax, edi
call sym._update_shell_folder_listview
mov eax, edi
call sym._update_mime_types
mov dword [esp + 4], 0
mov dword [esp], sym._update_window_pos_proc_8
call dword [sym.imp.user32.dll_EnumWindows]
sub esp, 8
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], edi
call dword [sym.imp.user32.dll_SetWindowLongW]
sub esp, 0xc
jmp case.0x40f52b.1410
mov dword [0x4282c8], 1
call sym._scan_theme_files
mov esi, dword [ebp - 0xb70]
mov ebx, dword [sym.imp.user32.dll_GetDlgItem]
mov dword [esp + 4], 0x57b
mov dword [esp], esi
call ebx
mov dword [ebp - 0xb70], esi
sub esp, 8
mov edi, eax
mov dword [esp], esi
mov dword [esp + 4], 0x579
call ebx
mov esi, eax
mov eax, dword [ebp - 0xb70]
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 0x410cc0
mov edi, dword [ebp - 0xb70]
mov dword [esp + 4], 0x579
mov dword [esp], edi
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
sub esp, 0x10
mov dword [esp + 4], 0x57b
mov dword [esp], edi
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
xor edx, edx
mov eax, edi
sub esp, 0x10
call sym._enable_size_and_color_controls
mov eax, dword [ebp - 0xb70]
mov dword [esp + 0x10], 0x80064
mov dword [0x4282c4], 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 [0x4282c8], 0
sub esp, 0x14
jmp case.0x40f52b.1410
cmp eax, 0x586
jne 0x410388
mov eax, dword [ebp - 0xb70]
call sym._on_sysparam_change
jmp case.0x40f52b.1410
xor eax, eax
jmp 0x40f781
xor eax, eax
jmp 0x40f801
mov eax, dword [ebp - 0xb70]
mov edx, 1
call sym._enable_size_and_color_controls
jmp 0x410c39
mov edx, 0x2110
test al, 4
jne 0x410ced
shl eax, 9
and eax, 0x200
or eax, 0x2010
mov edx, eax
lea eax, [ebx + 0x1c]
mov dword [esp + 0xc], edx
mov dword [esp + 8], 4
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x18]
mov dword [esp], eax
call dword [sym.imp.user32.dll_DrawFrameControl]
mov eax, dword [ebx + 0x1c]
sub esp, 0x10
mov dword [ebp - 0x438], eax
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0x434], eax
mov eax, dword [ebx + 0x24]
mov dword [ebp - 0x430], eax
mov eax, dword [ebx + 0x28]
mov dword [ebp - 0x42c], eax
jmp 0x410527
mov dword [ebp - 0xb7c], eax
mov eax, dword [0x4282d0]
sub edi, 1
mov ebx, dword [sym.imp.comctl32.dll_DSA_GetItemPtr]
mov dword [esp + 4], edi
mov dword [esp], eax
call ebx
mov ecx, dword [eax]
mov edi, eax
mov eax, dword [ebp - 0xb74]
sub esp, 8
mov dword [esp + 4], eax
mov eax, dword [edi + 8]
mov dword [ebp - 0xb78], ecx
mov dword [esp], eax
call ebx
mov edx, dword [ebp - 0xb7c]
sub esp, 8
mov esi, dword [eax]
mov dword [esp + 4], edx
mov eax, dword [edi + 0x10]
mov dword [esp], eax
call ebx
mov edi, dword [ebp - 0xb6c]
mov ecx, dword [ebp - 0xb78]
sub esp, 8
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], edi
mov eax, dword [eax]
mov dword [esp + 4], esi
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], 0x428264
test eax, eax
js 0x411130
mov eax, dword [ebp - 0x228]
mov dword [esp], eax
call sym._ApplyTheme_12
mov eax, dword [ebp - 0x228]
sub esp, 0xc
mov dword [esp], eax
call sym._CloseThemeFile_4
sub esp, 4
jmp 0x410854
lea eax, [ebp - 0x438]
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x18]
mov dword [esp], eax
call dword [sym.imp.user32.dll_DrawFocusRect]
sub esp, 8
jmp 0x41051b
mov dword [esp + 8], 0
mov eax, dword [ebx + 0x18]
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x14]
mov dword [esp], eax
call dword [sym.imp.uxtheme.dll_DrawThemeParentBackground]
sub esp, 0xc
jmp 0x410452
mov eax, dword [ebp - 0xb70]
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
add eax, 1
mov edi, eax
je 0x411328
lea eax, [eax + eax]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_malloc]
mov ebx, eax
test eax, eax
je 0x411328
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 0x411710
mov eax, dword [ebp - 0xb70]
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 [0x4282c0]
test edi, edi
js 0x411205
test eax, eax
je 0x411205
add eax, 4
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 + 8], ebx
mov dword [esp + 4], 0
mov dword [esp], 0xfdf2
call dword [sym.imp.kernel32.dll_WideCharToMultiByte]
mov dword [ebp - 0x224], edi
mov edi, dword [ebp - 0xb70]
lea eax, [ebp - 0x228]
sub esp, 0x20
mov dword [ebp - 0x214], ebx
mov dword [ebp - 0x228], 1
mov dword [ebp - 0x220], 1
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x104c
mov dword [esp + 4], 0x582
mov dword [esp], edi
call esi
sub esp, 0x14
mov dword [esp], ebx
call dword [sym.imp.ucrtbase.dll_free]
mov eax, edi
jmp 0x40fe09
mov dword [0x4282c4], 1
jmp 0x410388
mov ebx, dword [ebp - 0xb70]
mov esi, dword [sym.imp.user32.dll_GetDlgItem]
mov dword [esp + 4], 0x57d
mov dword [esp], ebx
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 - 0xb70], ebx
sub esp, 0x10
mov dword [ebp - 0xb6c], eax
mov dword [esp], ebx
mov dword [esp + 4], 0x57b
call esi
mov dword [ebp - 0xb88], esi
mov ebx, eax
mov eax, dword [ebp - 0xb70]
sub esp, 8
mov dword [esp + 4], 0x579
mov dword [esp], eax
call esi
mov edx, dword [ebp - 0xb6c]
sub esp, 8
mov esi, eax
test edx, edx
jne 0x411232
mov ebx, dword [ebp - 0xb70]
mov esi, dword [ebp - 0xb88]
mov dword [esp + 4], 0x579
mov dword [esp], ebx
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
sub esp, 0x10
mov dword [esp + 4], 0x57b
mov dword [esp], ebx
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
xor edx, edx
mov eax, ebx
sub esp, 0x10
call sym._enable_size_and_color_controls
mov eax, dword [ebp - 0xb70]
mov dword [esp + 4], 0x57e
xor ebx, ebx
mov dword [esp], eax
mov eax, dword [ebp - 0xb88]
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 [0x4282c4], 1
jmp 0x41038e
mov dword [esp], 0
call sym._ApplyTheme_12
sub esp, 0xc
jmp 0x410854
mov edi, dword [ebp - 0xb70]
mov dword [esp + 8], 0
mov dword [0x4282c0], 0
mov dword [esp + 4], 0x583
mov dword [esp], edi
call dword [sym.imp.user32.dll_CheckDlgButton]
mov ebx, dword [sym.imp.user32.dll_GetDlgItem]
sub esp, 0xc
mov dword [esp + 4], 0x584
mov dword [esp], edi
call ebx
sub esp, 8
mov dword [esp + 4], 0x41b4a0
mov dword [esp], eax
call dword [sym.imp.user32.dll_SetWindowTextA]
sub esp, 8
mov dword [esp + 4], 0x583
mov dword [esp], edi
call ebx
mov esi, dword [sym.imp.user32.dll_EnableWindow]
sub esp, 8
mov dword [esp + 4], 0
mov dword [esp], eax
call esi
sub esp, 8
mov dword [esp + 4], 0x584
mov dword [esp], edi
call ebx
sub esp, 8
mov dword [esp + 4], 0
mov dword [esp], eax
call esi
sub esp, 8
mov dword [esp + 4], 0x585
mov dword [esp], edi
call ebx
sub esp, 8
mov dword [esp + 4], 0
mov dword [esp], eax
call esi
sub esp, 8
jmp case.0x40f52b.1410
mov esi, dword [sym.imp.ucrtbase.dll_free]
mov dword [esp], ebx
call esi
jmp case.0x40f52b.1410
mov eax, dword [0x4282c0]
mov edi, dword [ebp - 0xb70]
mov byte [eax + 4], 0
mov eax, edi
call sym._update_shell_folder_listview
mov eax, edi
jmp 0x40fe09
lea eax, [edx - 1]
mov dword [esp + 4], eax
mov eax, dword [0x4282d0]
mov dword [esp], eax
call dword [sym.imp.comctl32.dll_DSA_GetItemPtr]
mov ecx, ebx
mov edx, esi
sub esp, 8
mov dword [ebp - 0xb74], eax
call sym._fill_color_size_combos
lea edx, [ebp - 0x228]
mov dword [esp + 0x14], 0x104
mov dword [ebp - 0xb6c], edx
mov dword [esp + 0x10], edx
lea edx, [ebp - 0x438]
mov dword [ebp - 0xb80], edx
mov dword [esp + 8], edx
lea edx, [ebp - 0x640]
mov dword [esp + 0xc], 0x104
mov dword [esp + 4], 0x104
mov dword [ebp - 0xb8c], edx
mov dword [esp], edx
call dword [sym.imp.uxtheme.dll_GetCurrentThemeName]
sub esp, 0x18
test eax, eax
js 0x4112d3
mov eax, dword [ebp - 0xb74]
mov edx, dword [ebp - 0xb8c]
mov eax, dword [eax]
mov dword [esp], edx
mov dword [esp + 4], eax
call dword [sym.imp.kernel32.dll_lstrcmpiW]
sub esp, 8
test eax, eax
je 0x411754
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 dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x14e
mov dword [esp], ebx
call edi
sub esp, 0x10
mov eax, dword [ebp - 0xb70]
mov edx, 1
call sym._enable_size_and_color_controls
jmp 0x41109e
mov eax, dword [ebp - 0xb70]
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 0x41120b
mov dword [esp], esi
call dword [sym.imp.ucrtbase.dll_free]
mov edi, dword [ebp - 0xb70]
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], edi
call ebx
sub esp, 0x14
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x150
mov dword [esp + 4], 0x586
mov dword [esp], edi
call ebx
imul eax, eax, 0x70
sub esp, 0x14
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0x470
add eax, 0x417a6c
mov dword [esp + 4], 0x589
mov dword [esp + 0xc], eax
mov dword [esp], edi
call ebx
sub esp, 0x14
jmp 0x40fef7
lea eax, [ebp - 0x438]
mov dword [esp + 0xc], 0
mov dword [ebp - 0xb80], 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.0x40f52b.1410
mov eax, dword [ebp - 0xb90]
mov dword [esp], eax
call dword [sym.imp.shlwapi.dll_PathFindExtensionW]
push esi
mov dword [esp + 4], str..theme
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_lstrcmpiW]
push edi
push edi
test eax, eax
je 0x411779
mov eax, dword [ebp - 0xb90]
mov dword [esp], eax
call dword [sym.imp.shlwapi.dll_PathRemoveExtensionW]
cmp word [ebp - 0x438], 0
mov eax, dword [ebp - 0xb80]
push ecx
je 0x41148d
add eax, 2
cmp word [eax], 0
jne 0x411484
xor edx, edx
movzx ecx, word [edx + str._themes_]
mov word [eax + edx], cx
add edx, 2
test cx, cx
jne 0x41148f
cmp word [ebp - 0x438], 0
mov eax, dword [ebp - 0xb80]
je 0x4114bb
add eax, 2
cmp word [eax], 0
jne 0x4114b2
mov esi, dword [ebp - 0xb90]
xor edx, edx
movzx ecx, word [esi + edx]
mov word [eax + edx], cx
add edx, 2
test cx, cx
jne 0x4114c3
mov edi, dword [ebp - 0xb80]
mov eax, dword [ebp - 0xb70]
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 - 0x438], 0
je 0x412219
mov eax, edi
add eax, 2
cmp word [eax], 0
jne 0x411507
xor edx, edx
movzx ecx, word [edx + 0x41b6d6]
mov word [eax + edx], cx
add edx, 2
test cx, cx
jne 0x411512
mov eax, dword [ebp - 0xb8c]
mov dword [esp], eax
call dword [sym.imp.shlwapi.dll_PathFindFileNameW]
cmp word [ebp - 0x438], 0
mov ecx, eax
push edx
mov eax, dword [ebp - 0xb80]
je 0x411550
add eax, 2
cmp word [eax], 0
jne 0x411547
movzx edx, word [ecx + ebx]
mov word [eax + ebx], dx
add ebx, 2
test dx, dx
jne 0x411550
cmp word [ebp - 0x438], 0
mov eax, dword [ebp - 0xb80]
je 0x411579
add eax, 2
cmp word [eax], 0
jne 0x411570
sub eax, dword [ebp - 0xb80]
sar eax, 1
cmp word [ebp - 0x640], 0
mov word [ebp + eax*2 - 0x436], 0
mov eax, dword [ebp - 0xb8c]
je 0x4115a4
add eax, 2
cmp word [eax], 0
jne 0x41159b
sub eax, dword [ebp - 0xb8c]
sar eax, 1
mov word [ebp + eax*2 - 0x63e], 0
lea eax, [ebp - 0x228]
mov dword [ebp - 0xb6c], eax
test byte [0x418860], 8
jne 0x411dfa
mov dword [ebp - 0x224], 2
mov eax, dword [ebp - 0xb70]
mov word [ebp - 0x218], 0x200
mov dword [ebp - 0x228], eax
mov eax, dword [ebp - 0xb8c]
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0xb80]
mov dword [ebp - 0x21c], eax
mov eax, dword [ebp - 0xb6c]
mov dword [esp], eax
call dword [sym.imp.shell32.dll_SHFileOperationW]
push ebx
test eax, eax
je 0x411d23
test byte [0x418860], 8
je case.0x40f52b.1410
mov dword [esp + 0xc], str.copy_operation_failed_n
mov dword [esp + 8], str.on_theme_install
mov dword [esp + 4], 0x418860
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_7
jmp case.0x40f52b.1410
mov edi, dword [ebp - 0xb70]
mov dword [esp + 8], 0
mov dword [esp + 4], 0x583
mov dword [esp], edi
call dword [sym.imp.user32.dll_CheckDlgButton]
mov esi, dword [ebp - 0xb88]
sub esp, 0xc
mov dword [esp + 4], 0x584
mov dword [esp], edi
call esi
sub esp, 8
mov dword [esp + 4], 0
mov dword [esp], eax
call ebx
sub esp, 8
mov dword [esp + 4], 0x585
mov dword [esp], edi
call esi
sub esp, 8
mov dword [esp + 4], 0
mov dword [esp], eax
call ebx
sub esp, 8
mov dword [esp + 4], 0x584
mov dword [esp], edi
call esi
sub esp, 8
mov dword [esp + 4], 0x41b4a0
mov dword [esp], eax
call dword [sym.imp.user32.dll_SetWindowTextA]
sub esp, 8
jmp case.0x40f52b.1410
mov eax, dword [ebp - 0xb70]
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.0x40f52b.1410
mov dword [esp], ebx
mov esi, dword [sym.imp.ucrtbase.dll_free]
xor ebx, ebx
call esi
mov eax, dword [ebp - 0xb70]
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 0x41120b
mov eax, dword [ebp - 0xb6c]
mov edx, dword [ebp - 0xb80]
mov dword [esp + 4], ebx
mov ecx, esi
mov dword [esp], eax
mov eax, dword [ebp - 0xb74]
call sym._select_color_and_size
jmp 0x411313
mov dword [ebp - 0xb68], 0
mov dword [ebp - 0xb64], 0
mov dword [ebp - 0xb60], 0
test byte [0x418860], 8
jne 0x412174
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 - 0xb74], eax
test eax, eax
je 0x41234b
mov edx, edi
mov edi, dword [ebp - 0xb74]
jmp 0x4117f3
lea ebx, [edx + edx]
shl edx, 2
mov dword [esp], edi
mov dword [esp + 4], edx
call esi
mov edi, eax
test eax, eax
je 0x41234b
mov edx, ebx
mov eax, dword [ebp - 0xb8c]
mov dword [esp + 0x10], edx
mov dword [ebp - 0xb6c], edx
mov dword [esp + 0x14], eax
mov dword [esp + 0xc], edi
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], str.Control_PanelColors
call dword [sym.imp.kernel32.dll_GetPrivateProfileStringW]
mov edx, dword [ebp - 0xb6c]
mov ebx, eax
sub esp, 0x18
lea eax, [edx - 2]
cmp ebx, eax
jae 0x4117d8
cmp word [edi], 0
mov dword [ebp - 0xb74], edi
je 0x411cb9
lea eax, [ebp - 0x228]
mov ebx, dword [ebp - 0xb74]
mov dword [ebp - 0xb6c], eax
shr eax, 0x10
mov dword [ebp - 0xb84], eax
mov eax, dword [ebp - 0xb8c]
mov dword [esp + 0x10], 0x104
mov dword [esp + 8], 0
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0xb6c]
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 [0x418860], 8
jne 0x411986
lea eax, [ebp - 0xb60]
mov dword [esp + 4], str._d__d__d
mov esi, 0x417a68
xor edi, edi
mov dword [esp + 0x10], eax
lea eax, [ebp - 0xb64]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0xb68]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xb6c]
mov dword [esp], eax
call sym._swscanf.constprop.0
mov eax, dword [ebp - 0xb68]
mov dword [ebp - 0xb78], eax
mov eax, dword [ebp - 0xb64]
mov dword [ebp - 0xb7c], eax
mov eax, dword [ebp - 0xb60]
mov dword [ebp - 0xb80], eax
jmp 0x41191b
add edi, 1
add esi, 0x70
cmp edi, 0x20
je 0x41196b
mov dword [esp + 4], ebx
mov eax, dword [esi]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll__wcsicmp]
test eax, eax
jne 0x411910
mov edx, dword [ebp - 0xb7c]
mov eax, dword [ebp - 0xb80]
shl edx, 8
shl eax, 0x10
and eax, 0xff0000
movzx edx, dx
or edx, eax
movzx eax, byte [ebp - 0xb78]
or edx, eax
imul eax, edi, 0x70
mov dword [eax + 0x417a70], edx
mov eax, edi
call sym._save_sys_color
jmp 0x41196b
add ebx, 2
cmp word [ebx], 0
jne 0x411968
cmp word [ebx + 2], 0
lea eax, [ebx + 2]
je 0x411cb9
mov ebx, eax
jmp 0x411865
cmp dword [ebp - 0xb84], 0
je 0x411c97
mov edi, dword [ebp - 0xb6c]
mov dword [esp + 4], 0xffffffff
mov dword [esp], edi
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
push edx
push edx
test eax, eax
jne 0x411d14
cmp word [ebp - 0x228], 0
je 0x411cec
mov edx, edi
mov ecx, eax
lea eax, [eax + 1]
cmp word [edx + ecx*2 + 2], 0
jne 0x4119c4
mov word [ebp - 0x974], 0x224c
mov esi, dword [ebp - 0xb6c]
lea eax, [ebp - 0x972]
mov dword [ebp - 0xb78], ebx
jmp 0x411a21
cmp dx, 9
je 0x411ab6
cmp dx, 0xa
jne 0x411a58
mov word [eax], 0x6e5c
add eax, 2
lea edx, [ecx - 1]
test ecx, ecx
jle 0x411acd
lea edi, [ebp - 0x852]
cmp eax, edi
ja 0x411acd
mov ecx, edx
movzx edx, word [esi]
add esi, 2
cmp dx, 0xd
je 0x411a45
jbe 0x4119ee
cmp dx, 0x22
je 0x411aa9
cmp dx, 0x5c
jne 0x411a4f
mov word [eax], 0x5c5c
add eax, 2
jmp 0x411a06
mov word [eax], 0x725c
add eax, 2
jmp 0x411a06
lea edi, [edx - 0x20]
cmp di, 0x5e
jbe 0x411ac3
mov edi, edx
mov byte [eax], 0x5c
add eax, 5
shr di, 0xc
movzx edi, di
movzx ebx, byte [edi + str.0123456789abcdefdo_parse_theme]
mov edi, edx
shr di, 8
and edi, 0xf
mov byte [eax - 4], bl
movzx ebx, byte [edi + str.0123456789abcdefdo_parse_theme]
mov edi, edx
and edx, 0xf
shr di, 4
movzx edx, byte [edx + str.0123456789abcdefdo_parse_theme]
and edi, 0xf
mov byte [eax - 3], bl
movzx ebx, byte [edi + str.0123456789abcdefdo_parse_theme]
mov byte [eax - 1], dl
mov byte [eax - 2], bl
jmp 0x411a06
mov word [eax], 0x225c
add eax, 2
jmp 0x411a06
mov word [eax], 0x745c
add eax, 2
jmp 0x411a06
mov byte [eax], dl
add eax, 1
jmp 0x411a06
mov byte [eax], 0x22
mov ebx, dword [ebp - 0xb78]
test edx, edx
jle 0x411d02
mov word [eax + 1], 0x2e2e
lea edx, [eax + 4]
mov byte [eax + 3], 0x2e
lea eax, [ebp - 0x974]
mov byte [edx], 0
mov dword [esp], eax
call sym.___wine_dbg_strdup
mov dword [ebp - 0xb78], eax
mov eax, ebx
shr eax, 0x10
je 0x411cd4
mov dword [esp + 4], 0xffffffff
mov dword [esp], ebx
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
push esi
push esi
test eax, eax
jne 0x411ccd
cmp word [ebx], 0
je 0x412224
mov ecx, eax
lea eax, [eax + 1]
cmp word [ebx + ecx*2 + 2], 0
jne 0x411b32
mov dword [ebp - 0xb7c], ebx
mov esi, ebx
lea eax, [ebp - 0x972]
mov word [ebp - 0x974], 0x224c
jmp 0x411b8b
cmp dx, 9
je 0x411c24
cmp dx, 0xa
jne 0x411bc6
mov word [eax], 0x6e5c
add eax, 2
lea edi, [ebp - 0x852]
lea edx, [ecx - 1]
cmp eax, edi
ja 0x411c31
test ecx, ecx
jle 0x411c31
mov ecx, edx
movzx edx, word [esi]
add esi, 2
cmp dx, 0xd
je 0x411baf
jbe 0x411b58
cmp dx, 0x22
je 0x411c17
cmp dx, 0x5c
jne 0x411bb9
mov word [eax], 0x5c5c
add eax, 2
jmp 0x411b70
mov word [eax], 0x725c
add eax, 2
jmp 0x411b70
lea edi, [edx - 0x20]
cmp di, 0x5e
jbe 0x411d0a
mov edi, edx
mov byte [eax], 0x5c
add eax, 5
shr di, 0xc
movzx edi, di
movzx ebx, byte [edi + str.0123456789abcdefdo_parse_theme]
mov edi, edx
shr di, 8
and edi, 0xf
mov byte [eax - 4], bl
movzx ebx, byte [edi + str.0123456789abcdefdo_parse_theme]
mov edi, edx
and edx, 0xf
shr di, 4
movzx edx, byte [edx + str.0123456789abcdefdo_parse_theme]
and edi, 0xf
mov byte [eax - 3], bl
movzx ebx, byte [edi + str.0123456789abcdefdo_parse_theme]
mov byte [eax - 1], dl
mov byte [eax - 2], bl
jmp 0x411b70
mov word [eax], 0x225c
add eax, 2
jmp 0x411b70
mov word [eax], 0x745c
add eax, 2
jmp 0x411b70
mov byte [eax], 0x22
mov ebx, dword [ebp - 0xb7c]
test edx, edx
jle 0x41223a
mov word [eax + 1], 0x2e2e
lea edx, [eax + 4]
mov byte [eax + 3], 0x2e
lea eax, [ebp - 0x974]
mov byte [edx], 0
mov dword [esp], eax
call sym.___wine_dbg_strdup
mov edx, dword [ebp - 0xb78]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.parsing_key:__s_with_value:__s_n
mov dword [esp + 0x14], edx
mov dword [esp + 8], 0x41b790
mov dword [esp + 4], 0x418860
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_7
jmp 0x4118aa
movzx eax, word [ebp - 0xb6c]
mov dword [esp], 0x41b4f4
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf.constprop.0_6
mov dword [ebp - 0xb78], eax
jmp 0x411b02
mov eax, dword [ebp - 0xb74]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_free]
jmp 0x40fef7
mov eax, 0x41b53d
jmp 0x411c60
movzx eax, bx
mov dword [esp], 0x41b4f4
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf.constprop.0_6
jmp 0x411c60
mov word [ebp - 0x974], 0x224c
lea eax, [ebp - 0x972]
mov byte [ebp - 0x972], 0x22
lea edx, [eax + 1]
jmp 0x411aeb
mov byte [eax], dl
add eax, 1
jmp 0x411b70
mov dword [ebp - 0xb78], 0x41b53d
jmp 0x411b02
call sym._scan_theme_files
mov esi, dword [ebp - 0xb70]
mov ebx, dword [sym.imp.user32.dll_GetDlgItem]
mov dword [esp + 4], 0x57b
mov dword [esp], esi
call ebx
mov dword [ebp - 0xb70], esi
push edi
push edi
mov edi, eax
mov dword [esp], esi
mov dword [esp + 4], 0x579
call ebx
push edx
mov esi, eax
mov eax, dword [ebp - 0xb70]
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 0x41215f
mov edi, dword [ebp - 0xb70]
mov dword [esp + 4], 0x579
mov dword [esp], edi
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
sub esp, 0x10
mov dword [esp], edi
mov dword [esp + 4], 0x57b
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
xor edx, edx
mov eax, edi
sub esp, 0x10
call sym._enable_size_and_color_controls
jmp case.0x40f52b.1410
mov eax, dword [ebp - 0xb80]
shr eax, 0x10
je 0x412141
mov eax, dword [ebp - 0xb80]
mov dword [esp + 4], 0xffffffff
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov edx, eax
push edi
push edi
test eax, eax
je 0x411e30
jmp 0x412392
add edx, 1
mov eax, dword [ebp - 0xb80]
cmp word [eax + edx*2], 0
jne 0x411e2d
lea ecx, [ebp - 0x106]
mov ebx, dword [ebp - 0xb80]
mov word [ebp - 0x228], 0x224c
lea eax, [ebp - 0x226]
mov dword [ebp - 0xb6c], ecx
lea edi, [edx - 1]
cmp eax, dword [ebp - 0xb6c]
ja 0x411f32
test edx, edx
jle 0x411f32
movzx edx, word [ebx]
add ebx, 2
cmp dx, 0xd
je 0x411eb7
ja 0x411e9f
cmp dx, 9
je 0x412126
cmp dx, 0xa
jne 0x411ed0
mov word [eax], 0x6e5c
mov edx, edi
add eax, 2
jmp 0x411e5e
cmp dx, 0x22
je 0x411f23
cmp dx, 0x5c
jne 0x411ec3
mov word [eax], 0x5c5c
mov edx, edi
add eax, 2
jmp 0x411e5e
mov word [eax], 0x725c
mov edx, edi
add eax, 2
jmp 0x411e5e
lea esi, [edx - 0x20]
cmp si, 0x5e
jbe 0x412135
mov esi, edx
mov byte [eax], 0x5c
add eax, 5
shr si, 0xc
movzx esi, si
movzx ecx, byte [esi + str.0123456789abcdefdo_parse_theme]
mov esi, edx
shr si, 8
and esi, 0xf
mov byte [eax - 4], cl
movzx ecx, byte [esi + str.0123456789abcdefdo_parse_theme]
mov esi, edx
and edx, 0xf
shr si, 4
movzx edx, byte [edx + str.0123456789abcdefdo_parse_theme]
and esi, 0xf
mov byte [eax - 3], cl
movzx ecx, byte [esi + str.0123456789abcdefdo_parse_theme]
mov byte [eax - 1], dl
mov edx, edi
mov byte [eax - 2], cl
jmp 0x411e5e
mov word [eax], 0x225c
mov edx, edi
add eax, 2
jmp 0x411e5e
mov byte [eax], 0x22
lea edx, [eax + 1]
test edi, edi
jle 0x411f49
mov word [eax + 1], 0x2e2e
lea edx, [eax + 4]
mov byte [eax + 3], 0x2e
lea eax, [ebp - 0x228]
mov byte [edx], 0
mov dword [esp], eax
mov dword [ebp - 0xb6c], eax
call sym.___wine_dbg_strdup
mov ebx, eax
mov eax, dword [ebp - 0xb8c]
shr eax, 0x10
je 0x41210d
mov eax, dword [ebp - 0xb8c]
mov dword [esp + 4], 0xffffffff
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov edx, eax
push esi
push esi
test eax, eax
je 0x411f98
jmp 0x412388
add edx, 1
mov eax, dword [ebp - 0xb8c]
cmp word [eax + edx*2], 0
jne 0x411f95
lea ecx, [ebp - 0x106]
mov edi, dword [ebp - 0xb8c]
mov word [ebp - 0x228], 0x224c
lea eax, [ebp - 0x226]
mov dword [ebp - 0xb78], ecx
jmp 0x411fe6
cmp dx, 9
je 0x4120a2
cmp dx, 0xa
jne 0x41203a
mov word [eax], 0x6e5c
add eax, 2
mov edx, dword [ebp - 0xb74]
lea esi, [edx - 1]
mov dword [ebp - 0xb74], esi
cmp eax, dword [ebp - 0xb78]
ja 0x4120af
test edx, edx
jle 0x4120af
movzx edx, word [edi]
add edi, 2
cmp dx, 0xd
je 0x412027
jbe 0x411fc8
cmp dx, 0x22
je 0x412095
cmp dx, 0x5c
jne 0x412031
mov word [eax], 0x5c5c
add eax, 2
jmp 0x411fe0
mov word [eax], 0x725c
add eax, 2
jmp 0x411fe0
lea esi, [edx - 0x20]
cmp si, 0x5e
jbe 0x41208b
mov esi, edx
mov byte [eax], 0x5c
add eax, 5
shr si, 0xc
movzx esi, si
movzx ecx, byte [esi + str.0123456789abcdefdo_parse_theme]
mov esi, edx
shr si, 8
and esi, 0xf
mov byte [eax - 4], cl
movzx ecx, byte [esi + str.0123456789abcdefdo_parse_theme]
mov esi, edx
and edx, 0xf
shr si, 4
movzx edx, byte [edx + str.0123456789abcdefdo_parse_theme]
and esi, 0xf
mov byte [eax - 3], cl
movzx ecx, byte [esi + str.0123456789abcdefdo_parse_theme]
mov byte [eax - 1], dl
mov byte [eax - 2], cl
jmp 0x411fe0
mov byte [eax], dl
add eax, 1
jmp 0x411fe0
mov word [eax], 0x225c
add eax, 2
jmp 0x411fe0
mov word [eax], 0x745c
add eax, 2
jmp 0x411fe0
cmp dword [ebp - 0xb74], 0
mov byte [eax], 0x22
lea edx, [eax + 1]
jle 0x4120cb
mov word [eax + 1], 0x2e2e
lea edx, [eax + 4]
mov byte [eax + 3], 0x2e
mov eax, dword [ebp - 0xb6c]
mov byte [edx], 0
mov dword [esp], eax
call sym.___wine_dbg_strdup
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], 0x418860
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_7
jmp 0x4115cf
movzx eax, word [ebp - 0xb8c]
mov dword [esp], 0x41b4f4
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf.constprop.0_6
jmp 0x4120dc
mov word [eax], 0x745c
mov edx, edi
add eax, 2
jmp 0x411e5e
mov byte [eax], dl
add eax, 1
mov edx, edi
jmp 0x411e5e
movzx eax, word [ebp - 0xb80]
mov dword [esp], 0x41b4f4
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf.constprop.0_6
mov ebx, eax
jmp 0x411f62
mov eax, dword [ebp - 0xb70]
mov edx, 1
call sym._enable_size_and_color_controls
jmp case.0x40f52b.1410
mov eax, dword [ebp - 0xb8c]
shr eax, 0x10
je 0x41236f
mov eax, dword [ebp - 0xb8c]
mov dword [esp + 4], 0xffffffff
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov edx, eax
push ecx
push ecx
test eax, eax
je 0x4121aa
jmp 0x412368
add edx, 1
mov eax, dword [ebp - 0xb8c]
cmp word [eax + edx*2], 0
jne 0x4121a7
lea ecx, [ebp - 0x106]
mov ebx, dword [ebp - 0xb8c]
mov word [ebp - 0x228], 0x224c
lea eax, [ebp - 0x226]
mov dword [ebp - 0xb6c], ecx
lea edi, [edx - 1]
cmp eax, dword [ebp - 0xb6c]
ja 0x4122f6
test edx, edx
jle 0x4122f6
movzx edx, word [ebx]
add ebx, 2
cmp dx, 0xd
je 0x412261
ja 0x412242
cmp dx, 9
je 0x4122cc
cmp dx, 0xa
jne 0x412279
mov word [eax], 0x6e5c
mov edx, edi
add eax, 2
jmp 0x4121d8
mov eax, dword [ebp - 0xb80]
jmp 0x411510
mov word [ebp - 0x974], 0x224c
lea eax, [ebp - 0x972]
mov byte [ebp - 0x972], 0x22
lea edx, [eax + 1]
jmp 0x411c4f
cmp dx, 0x22
je 0x4122db
cmp dx, 0x5c
jne 0x412270
mov word [eax], 0x5c5c
mov edx, edi
add eax, 2
jmp 0x4121d8
mov word [eax], 0x725c
mov edx, edi
add eax, 2
jmp 0x4121d8
lea esi, [edx - 0x20]
cmp si, 0x5e
jbe 0x4122ea
mov esi, edx
mov byte [eax], 0x5c
add eax, 5
shr si, 0xc
movzx esi, si
movzx ecx, byte [esi + str.0123456789abcdefdo_parse_theme]
mov esi, edx
shr si, 8
and esi, 0xf
mov byte [eax - 4], cl
movzx ecx, byte [esi + str.0123456789abcdefdo_parse_theme]
mov esi, edx
and edx, 0xf
shr si, 4
movzx edx, byte [edx + str.0123456789abcdefdo_parse_theme]
and esi, 0xf
mov byte [eax - 3], cl
movzx ecx, byte [esi + str.0123456789abcdefdo_parse_theme]
mov byte [eax - 1], dl
mov edx, edi
mov byte [eax - 2], cl
jmp 0x4121d8
mov word [eax], 0x745c
mov edx, edi
add eax, 2
jmp 0x4121d8
mov word [eax], 0x225c
mov edx, edi
add eax, 2
jmp 0x4121d8
mov byte [eax], dl
add eax, 1
mov edx, edi
jmp 0x4121d8
mov byte [eax], 0x22
lea edx, [eax + 1]
test edi, edi
jle 0x41230d
mov word [eax + 1], 0x2e2e
lea edx, [eax + 4]
mov byte [eax + 3], 0x2e
lea eax, [ebp - 0x228]
mov byte [edx], 0
mov dword [esp], eax
call sym.___wine_dbg_strdup
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0x41b660
mov dword [esp + 8], 0x41b790
mov dword [esp + 4], 0x418860
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_7
jmp 0x4117a4
mov dword [esp + 8], 0x260
mov dword [esp + 4], str._home_runner_build_wine_wine_programs_winecfg_theme.c
mov dword [esp], str.keyName
call dword [sym.imp.ucrtbase.dll__assert]
mov eax, 0x41b53d
jmp 0x41231e
movzx eax, word [ebp - 0xb8c]
mov dword [esp], 0x41b4f4
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf.constprop.0_6
jmp 0x41231e
mov eax, 0x41b53d
jmp 0x4120dc
mov ebx, 0x41b53d
jmp 0x411f62