Function at 0x406080
Capabilities:
Contain obfuscated stackstrings
Copy file
Create directory
Enumerate gui resources
Get common file path
Get graphical window text
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, 0xa78
mov eax, dword [ecx]
mov edx, dword [ecx + 8]
mov ebx, dword [ecx + 0xc]
mov dword [ebp - 0xa4c], eax
mov eax, dword [ecx + 4]
cmp eax, 0x4e
je 0x406180
ja 0x4060f0
cmp eax, 0x18
je 0x4061d8
cmp eax, 0x2b
jne 0x406138
mov eax, dword [0x415824]
test eax, eax
je 0x406ae9
cmp dword [ebx + 4], 0x588
je 0x4068b0
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 0x406200
cmp eax, 0x111
jne case.0x40612b.1407
mov ebx, edx
shr ebx, 0x10
cmp ebx, 1
je 0x406840
cmp ebx, 0x300
je 0x407090
test ebx, ebx
jne case.0x40612b.1407
sub edx, 0x57e
cmp edx, 0xc
ja case.0x40612b.1407
jmp dword [edx*4 + 0x418914]
cmp eax, 2
jne case.0x40612b.1407
mov eax, dword [0x416ec4]
test eax, eax
je case.0x40612b.1407
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.0x40612b.1407
mov eax, dword [ebx + 8]
cmp eax, 0xffffff38
je 0x4071a2
ja 0x4066b0
cmp eax, 0xffffff36
je 0x4072d0
cmp eax, 0xffffff37
jne case.0x40612b.1407
mov eax, dword [ebp - 0xa4c]
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.0x40612b.1407
mov eax, dword [ebp - 0xa4c]
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
call sym._read_shell_folder_link_targets
lea edi, [ebp - 0x40c]
xor eax, eax
mov ecx, 0x19
mov dword [ebp - 0x428], 0x680053
mov esi, dword [sym.imp.kernel32.dll_GetModuleHandleW]
mov dword [ebp - 0x424], 0x6c0065
mov dword [ebp - 0x420], 0x20006c
mov dword [ebp - 0x41c], 0x6f0046
mov dword [ebp - 0x418], 0x64006c
mov dword [ebp - 0x414], 0x720065
mov dword [ebp - 0x410], 0
rep stosd dword es:[edi], eax
lea edi, [ebp - 0x20c]
mov ecx, 0x1b
mov dword [ebp - 0x220], 0x69004c
mov dword [ebp - 0x21c], 0x6b006e
mov dword [ebp - 0x218], 0x200073
mov dword [ebp - 0x214], 0x6f0074
mov dword [ebp - 0x210], 0
rep stosd dword es:[edi], eax
mov dword [ebp - 0xa48], esi
lea edi, [ebp - 0x428]
mov dword [esp], 0
call esi
mov ebx, dword [sym.imp.user32.dll_LoadStringW]
mov dword [ebp - 0xa54], edi
sub esp, 4
mov dword [ebp - 0xa44], 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 ecx, [ebp - 0x220]
sub esp, 4
mov dword [ebp - 0xa50], ecx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0x40
mov dword [esp + 4], 0x11
mov dword [esp], eax
call ebx
mov eax, dword [ebp - 0xa4c]
sub esp, 0x10
mov dword [esp], eax
mov eax, dword [sym.imp.user32.dll_GetDlgItem]
mov dword [esp + 4], 0x57f
mov dword [ebp - 0xa58], eax
call eax
lea edx, [ebp - 0x838]
sub esp, 8
mov dword [esp + 4], edx
mov dword [esp], eax
call dword [sym.imp.user32.dll_GetClientRect]
mov ecx, dword [ebp - 0x830]
mov edx, 0x55555556
sub ecx, dword [ebp - 0x838]
mov eax, ecx
sar ecx, 0x1f
sub esp, 8
mov dword [ebp - 0x630], 0xe
imul edx
mov dword [ebp - 0x624], edi
mov ebx, edx
sub ebx, ecx
cmp word [ebp - 0x428], 0
je 0x407732
mov eax, edi
lea esi, [esi]
add eax, 2
cmp word [eax], 0
jne 0x406390
sub eax, dword [ebp - 0xa54]
sar eax, 1
mov dword [ebp - 0x620], eax
mov eax, dword [ebp - 0xa4c]
lea esi, [ebp - 0x630]
mov dword [ebp - 0x628], ebx
mov dword [esp], eax
mov eax, dword [sym.imp.user32.dll_SendDlgItemMessageW]
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x1061
mov dword [esp + 4], 0x57f
mov dword [ebp - 0xa5c], eax
call eax
mov eax, dword [ebp - 0xa50]
sub esp, 0x14
cmp word [ebp - 0x220], 0
mov dword [ebp - 0x624], eax
je 0x40772b
lea esi, [esi]
add eax, 2
cmp word [eax], 0
jne 0x406408
sub eax, dword [ebp - 0xa50]
sar eax, 1
mov dword [ebp - 0x620], eax
mov eax, dword [ebp - 0x830]
mov edi, dword [ebp - 0xa4c]
mov dword [esp + 0x10], esi
xor esi, esi
dec eax
sub eax, dword [ebp - 0x838]
mov dword [esp + 0xc], 1
sub eax, ebx
mov dword [esp], edi
mov ebx, 0x416080
mov dword [ebp - 0x628], eax
mov eax, dword [ebp - 0xa5c]
mov dword [esp + 8], 0x1061
mov dword [esp + 4], 0x57f
call eax
mov eax, edi
sub esp, 0x14
call sym._update_shell_folder_listview
mov dword [esp], edi
mov eax, dword [ebp - 0xa58]
mov dword [esp + 4], 0x583
call eax
mov edi, dword [sym.imp.user32.dll_SendMessageW]
mov dword [ebp - 0xa3c], eax
sub esp, 8
mov dword [ebp - 0xa40], edi
mov edi, dword [ebp - 0xa50]
mov dword [esp], 0
mov eax, dword [ebp - 0xa48]
call eax
lea edx, [esi + 0x20d0]
sub esp, 4
mov dword [esp + 4], edx
mov dword [esp], eax
mov eax, dword [ebp - 0xa44]
mov dword [esp + 0xc], 0x100
mov dword [esp + 8], edi
call eax
mov eax, dword [ebp - 0xa3c]
mov edx, dword [ebp - 0xa40]
sub esp, 0x10
mov dword [esp + 0xc], edi
mov dword [esp + 8], 0
mov dword [esp + 4], 0x143
mov dword [esp], eax
call edx
sub esp, 0x10
cmp eax, 0xffffffff
je 0x406527
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xa3c]
mov dword [esp + 0xc], esi
mov edx, dword [ebp - 0xa40]
mov dword [esp + 4], 0x151
mov dword [esp], eax
call edx
sub esp, 0x10
mov eax, dword [ebx]
cmp eax, 0xffffffff
je 0x40653d
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 0x406554
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 0x4064a0
mov eax, dword [ebp - 0xa54]
mov dword [esp + 0xc], 0
lea esi, [ebp - 0x348]
mov dword [ebp - 0x428], 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 - 0x410]
mov ecx, 0x17
rep movsd dword es:[edi], dword [esi]
mov edi, eax
mov eax, 0x416794
lea esi, [ebp - 0x2ec]
mov ecx, 0x17
rep movsd dword es:[edi], dword [esi]
lea esi, [ebp - 0x290]
mov edi, eax
mov ecx, 0x17
rep movsd dword es:[edi], dword [esi]
mov dword [esp], 0x418818
call sym._keypath
mov dword [esp + 0xc], 0x418810
mov dword [esp + 4], eax
mov eax, dword [0x415a44]
mov dword [esp + 8], str.Enable
mov dword [esp], eax
call sym._get_reg_key
mov edi, dword [ebp - 0xa4c]
movzx edx, word [eax]
mov ebx, eax
mov dword [esp + 4], 0x58a
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 dword [esp], edi
mov eax, dword [ebp - 0xa58]
mov dword [esp + 4], 0x585
call eax
sub esp, 8
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0xa5c]
mov dword [esp], edi
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0x469
mov dword [esp + 4], 0x586
call eax
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.0x40612b.1407
cmp edx, 0x57f
jne case.0x40612b.1407
test byte [ebx + 0x14], 2
je 0x407b2e
mov eax, dword [ebx + 0x28]
mov edi, dword [ebp - 0xa4c]
mov dword [esp + 4], 0x580
mov esi, dword [sym.imp.user32.dll_GetDlgItem]
mov dword [0x416ea8], eax
mov dword [esp], edi
mov dword [ebp - 0xa58], esi
call esi
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 0x408020
mov dword [esp], edi
mov dword [esp + 8], 1
mov dword [esp + 4], 0x580
call dword [sym.imp.user32.dll_CheckDlgButton]
sub esp, 0xc
mov dword [esp], edi
mov dword [esp + 4], 0x581
call esi
sub esp, 8
mov dword [esp + 4], 1
mov dword [esp], eax
call ebx
sub esp, 8
mov dword [esp], edi
mov dword [esp + 4], 0x582
call esi
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 - 0xa3c], 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 0x4067ff
mov dword [esp + 0x14], edi
mov edx, dword [ebp - 0xa3c]
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 - 0xa4c]
mov dword [esp + 4], 0x581
mov dword [esp], eax
mov eax, dword [ebp - 0xa58]
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.0x40612b.1407
mov eax, dword [0x416ed8]
test eax, eax
jne case.0x40612b.1407
movzx eax, dx
cmp eax, 0x57d
je 0x407a03
ja 0x407710
and edx, 0xfffd
cmp edx, 0x579
je 0x407b0b
mov edi, dword [sym.imp.user32.dll_SendMessageW]
mov eax, dword [ebp - 0xa4c]
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.0x40612b.1407
mov eax, dword [ebp - 0xa4c]
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 sym._OpenThemeDataForDpi_12
mov esi, eax
sub esp, 0xc
mov eax, dword [ebx + 0x10]
test esi, esi
je 0x40774e
mov edi, 4
test al, 4
jne 0x406901
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 sym._IsThemeBackgroundPartiallyTransparent_12
sub esp, 0xc
test eax, eax
jne 0x407891
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 [esp], esi
mov dword [esp + 4], eax
mov dword [ebp - 0xa3c], edx
call sym._DrawThemeBackground_24
mov eax, dword [ebx + 0x1c]
mov edx, dword [ebp - 0xa3c]
sub esp, 0x18
mov dword [ebp - 0x428], eax
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0x424], eax
mov eax, dword [ebx + 0x24]
mov dword [ebp - 0x420], eax
mov eax, dword [ebx + 0x28]
mov dword [esp + 0x14], edx
mov dword [ebp - 0x41c], eax
lea eax, [ebp - 0x220]
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 sym._GetThemeMargins_28
mov eax, dword [ebp - 0x220]
add dword [ebp - 0x428], eax
sub esp, 0x1c
mov eax, dword [ebp - 0x218]
add dword [ebp - 0x424], eax
mov eax, dword [ebp - 0x21c]
sub dword [ebp - 0x420], eax
mov eax, dword [ebp - 0x214]
sub dword [ebp - 0x41c], eax
test byte [ebx + 0x10], 0x10
jne 0x407873
mov dword [esp], esi
call sym._CloseThemeData_4
sub esp, 4
test byte [ebx + 0x10], 4
jne case.0x40612b.1407
mov edi, dword [ebp - 0xa4c]
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], 0x583
call esi
sub esp, 0x14
mov dword [esp], edi
lea edi, [ebp - 0x428]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x150
mov dword [esp + 4], 0x583
call esi
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 - 0x428]
mov esi, eax
mov eax, dword [0x415824]
sub esp, 4
inc dword [ebp - 0x424]
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov eax, dword [ebx + 0x18]
dec dword [ebp - 0x420]
dec dword [ebp - 0x41c]
mov dword [esp], eax
call dword [sym.imp.user32.dll_FrameRect]
inc dword [ebp - 0x428]
sub esp, 0xc
inc dword [ebp - 0x424]
mov dword [esp + 8], esi
mov dword [esp + 4], edi
mov eax, dword [ebx + 0x18]
dec dword [ebp - 0x420]
dec dword [ebp - 0x41c]
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.0x40612b.1407
mov dword [esp], 0
call dword [sym.imp.gdi32.dll_CreateSolidBrush]
mov dword [0x415824], eax
sub esp, 4
jmp 0x4060ce
mov edi, dword [ebp - 0xa4c]
mov dword [esp + 4], 0x58a
mov ebx, 0x418810
mov dword [esp], edi
call dword [sym.imp.user32.dll_IsDlgButtonChecked]
sub esp, 8
cmp eax, 1
mov eax, 0x418814
mov dword [esp], 0x418818
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], edi
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.0x40612b.1407
mov edi, dword [ebp - 0xa4c]
mov ebx, dword [sym.imp.user32.dll_SendDlgItemMessageW]
mov dword [esp + 0x10], 0
lea esi, [ebp - 0x220]
mov dword [esp + 0xc], 0
mov dword [esp], edi
mov dword [esp + 8], 0x147
mov dword [esp + 4], 0x583
call ebx
mov dword [ebp - 0xa4c], 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], 0x583
call ebx
lea ebx, [ebp - 0x218]
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 - 0xa4c]
mov dword [esp], esi
mov dword [ebp - 0x220], 0x3c
mov dword [ebp - 0x21c], edi
mov dword [ebp - 0x20c], 0x1800041
add eax, 0x416094
mov dword [ebp - 0x214], eax
call dword [sym.imp.comdlg32.dll_ChooseFontW]
sub esp, 4
test eax, eax
je case.0x40612b.1407
mov eax, dword [ebp - 0xa4c]
mov dword [esp], eax
jmp 0x406b59
mov edi, dword [ebp - 0xa4c]
mov ebx, dword [sym.imp.user32.dll_SendDlgItemMessageW]
mov dword [esp + 0x10], 0
lea esi, [ebp - 0x220]
mov dword [esp + 0xc], 0
mov dword [esp], edi
mov dword [esp + 8], 0x147
mov dword [esp + 4], 0x583
call ebx
mov dword [ebp - 0xa4c], 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], 0x583
call ebx
lea edx, [ebp - 0x218]
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 - 0x220], 0x24
mov dword [ebp - 0x210], 0x416ee0
mov dword [ebp - 0x20c], 0x101
mov eax, dword [edi + 0x416090]
add edi, 0x416080
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0xa4c]
mov dword [ebp - 0x21c], eax
call dword [sym.imp.comdlg32.dll_ChooseColorW]
sub esp, 4
test eax, eax
je case.0x40612b.1407
mov edx, dword [ebp - 0x214]
mov eax, ebx
mov dword [edi + 0x10], edx
call sym._save_sys_color
mov edi, dword [ebp - 0xa4c]
mov dword [esp + 4], 0x588
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 0x406b59
mov eax, dword [ebp - 0xa4c]
lea ebx, [ebp - 0x220]
mov dword [esp + 4], ebx
mov dword [esp], eax
call sym._browse_for_unix_folder
test eax, eax
je case.0x40612b.1407
mov eax, dword [0x416ea8]
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 - 0xa4c]
sub esp, 0x20
mov eax, edi
call sym._update_shell_folder_listview
mov eax, edi
jmp 0x406c4a
mov edi, dword [ebp - 0xa4c]
mov dword [esp + 4], 0x580
mov dword [esp], edi
call dword [sym.imp.user32.dll_IsDlgButtonChecked]
sub esp, 8
test eax, eax
je 0x407bff
lea ebx, [ebp - 0x220]
mov dword [esp], edi
mov dword [esp + 4], ebx
call sym._browse_for_unix_folder
test eax, eax
je 0x4080b1
mov eax, dword [0x416ea8]
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 0x406b59
mov eax, dword [sym.imp.kernel32.dll_GetModuleHandleW]
mov dword [esp], 0
lea esi, [ebp - 0x9c8]
mov dword [ebp - 0xa48], 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 - 0xa44], eax
call eax
mov eax, esi
sub esp, 0x10
cmp word [ebp - 0x9c8], 0
je 0x406ed2
add eax, 2
cmp word [eax], 0
jne 0x406ec9
mov edx, dword [0x423120]
lea edi, [ebp - 0x900]
mov dword [eax], edx
mov edx, dword [0x423124]
mov dword [eax + 4], edx
mov edx, dword [0x423128]
mov dword [eax + 8], edx
mov edx, dword [0x42312c]
mov dword [eax + 0xc], edx
mov edx, dword [0x423130]
mov dword [eax + 0x10], edx
mov edx, dword [0x423134]
mov dword [eax + 0x14], edx
mov edx, dword [0x423138]
mov dword [eax + 0x18], edx
mov edx, dword [0x42313c]
mov dword [eax + 0x1c], edx
mov edx, dword [0x423140]
mov dword [eax + 0x20], edx
mov edx, dword [0x423144]
mov dword [eax + 0x24], edx
movzx edx, word [0x423148]
mov word [eax + 0x28], dx
mov eax, dword [ebp - 0xa48]
mov dword [esp], 0
call eax
sub esp, 4
mov dword [esp], eax
mov eax, dword [ebp - 0xa44]
mov dword [esp + 0xc], 0x64
mov dword [esp + 8], edi
mov dword [esp + 4], 0xf
call eax
mov eax, dword [ebp - 0xa4c]
mov dword [ebp - 0xa14], esi
xor esi, esi
mov word [ebp - 0x630], si
sub esp, 0x10
lea esi, [ebp - 0x838]
mov dword [ebp - 0xa1c], eax
lea eax, [ebp - 0x630]
mov dword [ebp - 0xa04], eax
xor eax, eax
mov word [ebp - 0x838], ax
lea eax, [ebp - 0xa20]
mov dword [ebp - 0xa20], 0x58
mov dword [ebp - 0xa18], 0
mov dword [ebp - 0xa10], 0
mov dword [ebp - 0xa0c], 0
mov dword [ebp - 0xa08], 0
mov dword [ebp - 0xa00], 0x104
mov dword [ebp - 0x9fc], esi
mov dword [ebp - 0x9f8], 0x104
mov dword [ebp - 0x9f4], 0
mov dword [ebp - 0x9f0], edi
mov dword [ebp - 0x9ec], 0x801804
mov dword [ebp - 0x9e8], 0
mov dword [ebp - 0x9e4], 0
mov dword [ebp - 0x9e0], 0
mov dword [ebp - 0x9dc], 0
mov dword [ebp - 0x9d8], 0
mov dword [esp], eax
call dword [sym.imp.comdlg32.dll_GetOpenFileNameW]
sub esp, 4
test eax, eax
jne 0x407dda
test byte [0x415090], 8
je case.0x40612b.1407
mov dword [esp + 0xc], str.user_cancelled_n
mov dword [esp + 8], str.on_theme_install
mov dword [esp + 4], 0x415090
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_6
jmp case.0x40612b.1407
mov eax, dword [0x416ed8]
test eax, eax
jne case.0x40612b.1407
movzx eax, dx
cmp dx, 0x581
je 0x4078b3
cmp eax, 0x585
jne case.0x40612b.1407
mov eax, dword [ebp - 0xa4c]
mov dword [esp + 4], 0x585
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 0x407d12
add eax, eax
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_malloc]
mov ebx, eax
test eax, eax
je 0x407d12
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 0x407d09
mov edi, dword [ebp - 0xa4c]
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], 0x583
call esi
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], 0x583
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 0x406c44
mov dword [0x416ed8], 1
call sym._scan_theme_files
mov esi, dword [ebp - 0xa4c]
mov ebx, dword [sym.imp.user32.dll_GetDlgItem]
mov dword [esp + 4], 0x57b
mov dword [esp], esi
call ebx
mov dword [ebp - 0xa4c], 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 - 0xa4c]
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 0x407739
mov edi, dword [ebp - 0xa4c]
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 - 0xa4c]
mov dword [esp + 0x10], 0x80064
mov dword [0x416ecc], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x465
mov dword [esp + 4], 0x586
mov dword [esp], eax
call dword [sym.imp.user32.dll_SendDlgItemMessageW]
mov dword [0x416ed8], 0
sub esp, 0x14
jmp case.0x40612b.1407
call sym._apply
mov edx, dword [0x416ecc]
lea eax, [ebp - 0x220]
mov dword [ebp - 0xa50], eax
test edx, edx
je 0x407425
mov eax, dword [ebp - 0xa4c]
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 - 0xa4c]
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 - 0xa3c], eax
mov eax, dword [ebp - 0xa4c]
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 0x4077b1
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
nop
mov eax, dword [esi]
cmp eax, 0xffffffff
je 0x4073f6
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 0x407409
mov dword [esp], eax
call edi
mov dword [esi + 0x10], eax
sub esp, 4
add esi, 0x70
cmp ebx, esi
jne 0x4073e0
mov eax, dword [ebp - 0xa4c]
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 - 0xa50]
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 0x40747e
mov eax, dword [ebp - 0xa50]
mov dword [esp + 4], edi
mov dword [esp], eax
call sym._set_shell_folder
add edi, 0x108
cmp esi, edi
jne 0x407438
mov dword [esp], 0
lea edi, [ebp - 0x140]
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 - 0xa50]
mov dword [ebp - 0x220], 0x1f8
sub esp, 8
mov dword [ebp - 0xa3c], 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 - 0x144], eax
sub esp, 0xc
mov dword [ebp - 0x148], eax
mov eax, dword [0x4165cc]
mov dword [esp + 8], ebx
mov dword [esp + 4], 0xfffffa60
mov dword [esp], eax
call esi
mov dword [ebp - 0x20c], eax
sub esp, 0xc
mov dword [ebp - 0x210], eax
mov eax, dword [0x4162bc]
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 [ebp - 0x1ac]
mov dword [esp + 8], ebx
mov dword [esp + 4], 0xfffffa60
mov dword [esp], eax
call esi
mov dword [ebp - 0x1ac], eax
mov eax, dword [ebp - 0x1a8]
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 - 0xa3c]
mov dword [ebp - 0x1a8], eax
mov eax, dword [ebp - 0xa50]
sub esp, 0xc
rep movsd dword es:[edi], dword [esi]
mov esi, 0x416644
lea edi, [ebp - 0x208]
mov ecx, 0x17
rep movsd dword es:[edi], dword [esi]
mov esi, 0x416484
lea edi, [ebp - 0xe4]
mov ecx, 0x17
rep movsd dword es:[edi], dword [esi]
mov esi, 0x416794
lea edi, [ebp - 0x88]
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 0x407651
mov dword [ebp + edx*4 - 0x630], ecx
mov ecx, dword [eax + 0xc]
mov dword [ebp + edx*4 - 0x428], ecx
inc edx
add eax, 0x70
cmp ebx, eax
jne 0x407638
lea eax, [ebp - 0x428]
mov dword [esp], edx
mov ebx, 0x418810
mov dword [esp + 8], eax
lea eax, [ebp - 0x630]
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 - 0xa4c]
mov eax, edi
call sym._update_shell_folder_listview
mov dword [esp + 4], 0x58a
mov dword [esp], edi
call dword [sym.imp.user32.dll_IsDlgButtonChecked]
sub esp, 8
cmp eax, 1
mov eax, 0x418814
mov dword [esp], 0x418818
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
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.0x40612b.1407
cmp eax, 0x583
jne 0x406873
mov eax, dword [ebp - 0xa4c]
call sym._on_sysparam_change
jmp case.0x40612b.1407
xor eax, eax
jmp 0x406419
xor eax, eax
jmp 0x4063a1
mov eax, dword [ebp - 0xa4c]
mov edx, 1
call sym._enable_size_and_color_controls
jmp 0x407283
mov edx, 0x2110
test al, 4
jne 0x407766
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 - 0x428], eax
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0x424], eax
mov eax, dword [ebx + 0x24]
mov dword [ebp - 0x420], eax
mov eax, dword [ebx + 0x28]
mov dword [ebp - 0x41c], eax
jmp 0x4069f6
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 - 0xa3c]
sub esp, 8
mov dword [ebp - 0xa3c], edx
mov dword [esp + 4], eax
mov eax, dword [edx + 8]
mov dword [ebp - 0xa40], ecx
mov dword [esp], eax
call ebx
mov edx, dword [ebp - 0xa3c]
sub esp, 8
mov edi, dword [eax]
mov dword [esp + 4], esi
mov eax, dword [edx + 0x10]
mov dword [esp], eax
call ebx
mov ecx, dword [ebp - 0xa50]
sub esp, 8
mov dword [esp + 0xc], ecx
mov ecx, dword [ebp - 0xa40]
mov dword [esp + 0x10], 0
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 0x407b1a
mov eax, dword [ebp - 0x220]
mov dword [esp], eax
call sym._ApplyTheme_12
mov eax, dword [ebp - 0x220]
sub esp, 0xc
mov dword [esp], eax
call sym._CloseThemeFile_4
sub esp, 4
jmp 0x4073ce
lea eax, [ebp - 0x428]
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 0x4069eb
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 sym._DrawThemeParentBackground_12
sub esp, 0xc
jmp 0x406920
mov eax, dword [ebp - 0xa4c]
mov dword [esp + 4], 0x581
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 0x407d9b
add eax, eax
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_malloc]
mov ebx, eax
test eax, eax
je 0x407d9b
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 0x4080d8
mov eax, dword [ebp - 0xa4c]
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], 0x57f
mov dword [esp], eax
call esi
mov edi, eax
sub esp, 0x14
mov eax, dword [0x416ea8]
test edi, edi
js 0x407bef
test eax, eax
je 0x407bef
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 - 0x21c], edi
mov edi, dword [ebp - 0xa4c]
lea eax, [ebp - 0x220]
sub esp, 0x20
mov dword [ebp - 0x20c], ebx
mov dword [ebp - 0x220], 1
mov dword [ebp - 0x218], 1
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x104c
mov dword [esp + 4], 0x57f
mov dword [esp], edi
call esi
sub esp, 0x14
mov dword [esp], ebx
call dword [sym.imp.ucrtbase.dll_free]
mov eax, edi
jmp 0x406c4a
mov esi, dword [ebp - 0xa4c]
mov ebx, dword [sym.imp.user32.dll_GetDlgItem]
mov dword [esp + 4], 0x57d
mov dword [esp], esi
call ebx
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 - 0xa4c], esi
sub esp, 0x10
mov dword [ebp - 0xa40], eax
mov dword [esp], esi
mov dword [esp + 4], 0x57b
call ebx
mov esi, eax
mov eax, dword [ebp - 0xa4c]
sub esp, 8
mov dword [esp + 4], 0x579
mov dword [esp], eax
call ebx
mov edx, dword [ebp - 0xa40]
mov dword [ebp - 0xa3c], eax
sub esp, 8
test edx, edx
jne 0x407c1c
mov esi, dword [ebp - 0xa4c]
mov dword [esp + 4], 0x579
mov dword [esp], esi
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 edi
sub esp, 0x10
mov dword [esp + 4], 0x57b
mov dword [esp], esi
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 edi
xor edx, edx
mov eax, esi
sub esp, 0x10
call sym._enable_size_and_color_controls
mov dword [0x416ecc], 1
jmp 0x406879
mov dword [0x416ecc], 1
jmp 0x406873
mov dword [esp], 0
call sym._ApplyTheme_12
sub esp, 0xc
jmp 0x4073ce
mov edi, dword [ebp - 0xa4c]
mov dword [esp + 8], 0
mov dword [0x416ea8], 0
mov dword [esp + 4], 0x580
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], 0x581
mov dword [esp], edi
call ebx
sub esp, 8
mov dword [esp + 4], 0x4187d0
mov dword [esp], eax
call dword [sym.imp.user32.dll_SetWindowTextA]
sub esp, 8
mov dword [esp + 4], 0x580
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], 0x581
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], 0x582
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.0x40612b.1407
mov esi, dword [sym.imp.ucrtbase.dll_free]
mov dword [esp], ebx
call esi
jmp case.0x40612b.1407
mov eax, dword [0x416ea8]
mov edi, dword [ebp - 0xa4c]
mov byte [eax + 4], 0
mov eax, edi
call sym._update_shell_folder_listview
mov eax, edi
jmp 0x406c4a
mov eax, dword [0x416ec4]
dec edx
mov dword [esp + 4], edx
mov dword [esp], eax
call dword [sym.imp.comctl32.dll_DSA_GetItemPtr]
mov edx, dword [ebp - 0xa3c]
mov ecx, esi
sub esp, 8
mov ebx, eax
call sym._fill_color_size_combos
lea eax, [ebp - 0x220]
lea edx, [ebp - 0x630]
mov dword [esp + 0x14], 0x104
mov dword [ebp - 0xa50], eax
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x428]
mov dword [esp + 0xc], 0x104
mov dword [esp + 8], eax
mov dword [esp + 4], 0x104
mov dword [esp], edx
mov dword [ebp - 0xa54], eax
call sym._GetCurrentThemeName_24
sub esp, 0x18
test eax, eax
js 0x407cae
mov eax, dword [ebx]
lea edx, [ebp - 0x630]
mov dword [esp], edx
mov dword [esp + 4], eax
call dword [sym.imp.kernel32.dll_lstrcmpiW]
sub esp, 8
test eax, eax
je 0x40811c
mov eax, dword [ebp - 0xa3c]
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 - 0xa4c]
mov edx, 1
call sym._enable_size_and_color_controls
jmp 0x407afc
mov dword [esp], ebx
call dword [sym.imp.ucrtbase.dll_free]
mov edi, dword [ebp - 0xa4c]
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], 0x583
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], 0x583
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, 0x41608c
mov dword [esp + 4], 0x586
mov dword [esp + 0xc], eax
mov dword [esp], edi
call ebx
sub esp, 0x14
jmp 0x406c44
mov eax, dword [ebp - 0xa4c]
mov dword [esp + 0x10], 2
xor ebx, ebx
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], 0x100c
mov dword [esp + 4], 0x57f
mov dword [esp], eax
call dword [sym.imp.user32.dll_SendDlgItemMessageW]
mov esi, dword [sym.imp.ucrtbase.dll_free]
sub esp, 0x14
jmp 0x407bf5
lea eax, [ebp - 0x428]
mov dword [esp + 0xc], 0
mov dword [ebp - 0xa54], 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.0x40612b.1407
mov dword [esp], esi
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 0x408141
mov dword [esp], esi
call dword [sym.imp.shlwapi.dll_PathRemoveExtensionW]
cmp word [ebp - 0x428], 0
mov eax, dword [ebp - 0xa54]
push edi
je 0x407e62
add eax, 2
cmp word [eax], 0
jne 0x407e59
xor edx, edx
movzx ecx, word [edx + str._themes_]
mov word [eax + edx], cx
add edx, 2
test cx, cx
jne 0x407e64
cmp word [ebp - 0x428], 0
mov eax, dword [ebp - 0xa54]
je 0x407e90
add eax, 2
cmp word [eax], 0
jne 0x407e87
xor edx, edx
movzx ecx, word [esi + edx]
mov word [eax + edx], cx
add edx, 2
test cx, cx
jne 0x407e92
mov edi, dword [ebp - 0xa54]
mov eax, dword [ebp - 0xa4c]
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 - 0x428], 0
je 0x4083f4
mov eax, edi
add eax, 2
cmp word [eax], 0
jne 0x407ed6
xor edx, edx
movzx ecx, word [edx + 0x4188c6]
mov word [eax + edx], cx
add edx, 2
test cx, cx
jne 0x407ee1
lea eax, [ebp - 0x630]
mov dword [esp], eax
call dword [sym.imp.shlwapi.dll_PathFindFileNameW]
cmp word [ebp - 0x428], 0
mov edx, eax
push esi
mov eax, dword [ebp - 0xa54]
je 0x407f1f
add eax, 2
cmp word [eax], 0
jne 0x407f16
movzx ecx, word [edx + ebx]
mov word [eax + ebx], cx
add ebx, 2
test cx, cx
jne 0x407f1f
cmp word [ebp - 0x428], 0
mov eax, dword [ebp - 0xa54]
je 0x407f48
add eax, 2
cmp word [eax], 0
jne 0x407f3f
sub eax, dword [ebp - 0xa54]
sar eax, 1
cmp word [ebp - 0x630], 0
mov word [ebp + eax*2 - 0x426], 0
lea eax, [ebp - 0x630]
je 0x407f73
add eax, 2
cmp word [eax], 0
jne 0x407f6a
lea ecx, [ebp - 0x630]
sub eax, ecx
sar eax, 1
mov word [ebp + eax*2 - 0x62e], 0
test byte [0x415090], 8
jne 0x4084d6
mov dword [ebp - 0x21c], 2
mov eax, dword [ebp - 0xa4c]
mov word [ebp - 0x210], 0x200
mov dword [ebp - 0x220], eax
lea eax, [ebp - 0x630]
mov dword [ebp - 0x218], eax
mov eax, dword [ebp - 0xa54]
mov dword [ebp - 0x214], eax
lea eax, [ebp - 0x220]
mov dword [esp], eax
call dword [sym.imp.shell32.dll_SHFileOperationW]
push ebx
test eax, eax
je 0x4083ff
test byte [0x415090], 8
je case.0x40612b.1407
mov dword [esp + 0xc], str.copy_operation_failed_n
mov dword [esp + 8], str.on_theme_install
mov dword [esp + 4], 0x415090
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_6
jmp case.0x40612b.1407
mov edi, dword [ebp - 0xa4c]
mov dword [esp + 8], 0
mov dword [esp + 4], 0x580
mov dword [esp], edi
call dword [sym.imp.user32.dll_CheckDlgButton]
mov esi, dword [ebp - 0xa58]
sub esp, 0xc
mov dword [esp + 4], 0x581
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], 0x582
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], 0x581
mov dword [esp], edi
call esi
sub esp, 8
mov dword [esp + 4], 0x4187d0
mov dword [esp], eax
call dword [sym.imp.user32.dll_SetWindowTextA]
sub esp, 8
jmp case.0x40612b.1407
mov eax, dword [ebp - 0xa4c]
mov dword [esp + 8], 0
mov dword [esp + 4], 0x580
mov dword [esp], eax
call dword [sym.imp.user32.dll_CheckDlgButton]
sub esp, 0xc
jmp case.0x40612b.1407
mov dword [esp], ebx
mov esi, dword [sym.imp.ucrtbase.dll_free]
xor ebx, ebx
call esi
mov eax, dword [ebp - 0xa4c]
mov dword [esp + 0x10], 2
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], 0x100c
mov dword [esp + 4], 0x57f
mov dword [esp], eax
call dword [sym.imp.user32.dll_SendDlgItemMessageW]
sub esp, 0x14
jmp 0x407bf5
mov eax, dword [ebp - 0xa50]
mov ecx, dword [ebp - 0xa3c]
mov dword [esp + 4], esi
mov edx, dword [ebp - 0xa54]
mov dword [esp], eax
mov eax, ebx
call sym._select_color_and_size
jmp 0x407cf4
mov dword [ebp - 0xa2c], 0
mov dword [ebp - 0xa28], 0
mov dword [ebp - 0xa24], 0
test byte [0x415090], 8
jne 0x4083bc
mov dword [esp], 0x400
mov ebx, 0x200
call dword [sym.imp.ucrtbase.dll_malloc]
mov esi, ebx
mov edi, dword [sym.imp.ucrtbase.dll_realloc]
mov dword [ebp - 0xa3c], eax
jmp 0x4081af
mov eax, dword [ebp - 0xa3c]
lea edx, [esi*4]
lea ebx, [esi + esi]
mov dword [esp + 4], edx
mov esi, ebx
mov dword [esp], eax
call edi
mov dword [ebp - 0xa3c], eax
mov eax, dword [ebp - 0xa3c]
test eax, eax
je 0x40839a
lea eax, [ebp - 0x630]
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0xa3c]
mov dword [esp + 8], 0
mov dword [esp + 0xc], eax
mov dword [esp + 4], 0
mov dword [esp], str.Control_PanelColors
call dword [sym.imp.kernel32.dll_GetPrivateProfileStringW]
mov ecx, eax
lea eax, [esi - 2]
sub esp, 0x18
cmp ecx, eax
jae 0x40818e
mov eax, dword [ebp - 0xa3c]
cmp word [eax], 0
je 0x408341
lea eax, [ebp - 0x220]
mov ebx, dword [ebp - 0xa3c]
mov dword [ebp - 0xa50], eax
lea eax, [ebp - 0x630]
mov dword [esp + 0x10], 0x104
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0xa50]
mov dword [esp + 8], 0
mov dword [esp + 0xc], eax
mov dword [esp + 4], ebx
mov dword [esp], str.Control_PanelColors
call dword [sym.imp.kernel32.dll_GetPrivateProfileStringW]
sub esp, 0x18
test byte [0x415090], 8
jne 0x408355
lea eax, [ebp - 0xa24]
mov dword [esp + 4], str._d__d__d
mov edi, 0x416088
xor esi, esi
mov dword [esp + 0x10], eax
lea eax, [ebp - 0xa28]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0xa2c]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xa50]
mov dword [esp], eax
call sym._swscanf.constprop.0
mov eax, dword [ebp - 0xa2c]
mov dword [ebp - 0xa40], eax
mov eax, dword [ebp - 0xa28]
mov dword [ebp - 0xa44], eax
mov eax, dword [ebp - 0xa24]
mov dword [ebp - 0xa48], eax
jmp 0x4082d9
inc esi
add edi, 0x70
cmp esi, 0x20
je 0x40832b
mov dword [esp + 4], ebx
mov eax, dword [edi]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll__wcsicmp]
test eax, eax
jne 0x4082d0
mov edx, dword [ebp - 0xa44]
mov eax, dword [ebp - 0xa48]
movzx edi, byte [ebp - 0xa40]
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 0x40832b
add ebx, 2
cmp word [ebx], 0
jne 0x408328
mov eax, ebx
add ebx, 2
cmp word [eax + 2], 0
jne 0x408220
mov eax, dword [ebp - 0xa3c]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_free]
jmp 0x406c44
mov eax, dword [ebp - 0xa50]
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], 0x415090
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_6
jmp 0x408265
mov dword [esp + 8], 0x234
mov dword [esp + 4], str..._src_wine_programs_winecfg_theme.c
mov dword [esp], str.keyName
call dword [sym.imp.ucrtbase.dll__assert]
jmp 0x4081bd
lea eax, [ebp - 0x630]
call sym._wine_dbgstr_wn.constprop.0_3
mov dword [esp + 0xc], 0x41885e
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.do_parse_theme
mov dword [esp + 4], 0x415090
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_6
jmp 0x40816c
mov eax, dword [ebp - 0xa54]
jmp 0x407edf
call sym._scan_theme_files
mov esi, dword [ebp - 0xa4c]
mov ebx, dword [sym.imp.user32.dll_GetDlgItem]
mov dword [esp + 4], 0x57b
mov dword [esp], esi
call ebx
mov dword [ebp - 0xa4c], 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 - 0xa4c]
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 0x40851f
mov edi, dword [ebp - 0xa4c]
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.0x40612b.1407
mov eax, dword [ebp - 0xa54]
call sym._wine_dbgstr_wn.constprop.0_3
mov ebx, eax
lea eax, [ebp - 0x630]
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], 0x415090
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_6
jmp 0x407f94
mov eax, dword [ebp - 0xa4c]
mov edx, 1
call sym._enable_size_and_color_controls
jmp case.0x40612b.1407