Function at 0x407260
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0xec
mov eax, dword [esp + 0x108]
mov ebx, dword [esp + 0x100]
mov eax, dword [eax]
test eax, eax
je 0x4072ac
mov eax, dword [eax + 8]
lea esi, [esp + 0x56]
mov dword [esp + 8], str.Control_PanelAppearanceClassicSchemes
mov dword [esp + 4], str._s_s
mov dword [esp + 0xc], eax
mov eax, dword [sym.imp.USER32.dll_wsprintfW]
mov dword [esp], esi
mov dword [esp + 0x28], eax
call eax
cmp eax, 0x28
jg 0x4072c0
add esp, 0xec
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret
lea eax, [esp + 0x34]
mov dword [esp + 0x34], 0
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
mov dword [esp + 4], esi
mov dword [esp], 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
sub esp, 0x14
mov ebp, eax
test eax, eax
jne 0x4072ac
mov eax, dword [esp + 0x104]
lea edi, [esp + 0x46]
test eax, eax
setne byte [esp + 0x2f]
jmp 0x407362
mov eax, dword [ebp*4 + 0x4132f4]
mov dword [ebx + ebp*4 + 0x254], eax
cmp eax, esi
je 0x40735a
cmp byte [esp + 0x2f], 0
je 0x40735a
mov ecx, dword [ebx + ebp*4 + 0x2d0]
test ecx, ecx
je 0x407347
mov dword [esp], ecx
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [ebx + ebp*4 + 0x254]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
mov dword [ebx + ebp*4 + 0x2d0], eax
sub esp, 4
add ebp, 1
cmp ebp, 0x1f
je 0x4073e0
mov esi, dword [ebx + ebp*4 + 0x254]
mov eax, dword [esp + 0x28]
mov dword [esp + 8], ebp
mov dword [esp + 4], 0x40e51c
mov dword [esp], edi
call eax
cmp eax, 5
jle 0x407310
lea eax, [esp + 0x40]
mov dword [esp + 0x40], 4
mov dword [esp + 0x14], eax
lea eax, [esp + 0x3c]
mov dword [esp + 0x10], eax
lea eax, [esp + 0x38]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 8], 0
mov dword [esp + 4], edi
mov dword [esp], eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
sub esp, 0x18
test eax, eax
jne 0x407310
cmp dword [esp + 0x38], 4
jne 0x407310
mov eax, dword [esp + 0x3c]
and eax, 0xffffff
jmp 0x407317
lea eax, [esp + 0x40]
mov dword [esp + 0x3c], 0
mov dword [esp + 0x14], eax
lea eax, [esp + 0x3c]
mov dword [esp + 0x10], eax
lea eax, [esp + 0x38]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x40], 4
mov dword [esp + 8], 0
mov dword [esp + 4], str.FlatMenus
mov dword [esp], eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
sub esp, 0x18
test eax, eax
je 0x4074c8
mov eax, dword [0x413374]
mov dword [ebx + 0x350], eax
lea eax, [esp + 0x40]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x3c]
mov dword [esp + 0x10], eax
lea eax, [esp + 0x38]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x40], 4
mov dword [esp + 8], 0
mov dword [esp + 4], str.Gradients
mov dword [esp], eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
sub esp, 0x18
test eax, eax
jne 0x40748a
cmp dword [esp + 0x38], 4
mov eax, dword [esp + 0x3c]
je 0x40748f
mov eax, dword [0x413370]
mov dword [ebx + 0x34c], eax
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
sub esp, 4
mov eax, dword [esp + 0x108]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.00406bf0
add esp, 0xec
pop ebx
pop esi
pop edi
pop ebp
ret
cmp dword [esp + 0x38], 4
mov eax, dword [esp + 0x3c]
jne 0x407430
jmp 0x407435