Function at 0x4196d0
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
push esi
push edi
mov edi, ecx
call fcn.004691ff
push 4
pop ebx
test eax, eax
je 0x419852
or edx, 0xffffffff
mov ecx, str.SoftwareMicrosoftWindowsDWM
call fcn.00462840
or edx, 0xffffffff
mov ecx, str.ColorizationColor
mov esi, eax
call fcn.00462840
lea ecx, [ebp - 8]
mov dword [ebp - 8], ebx
push ecx
lea ecx, [ebp - 4]
push ecx
push 0
push eax
push esi
push SysReAllocString
call dword [sym.imp.SHLWAPI.dll_SHGetValueW]
test eax, eax
jne 0x419852
cmp dword [ebp - 8], ebx
jne 0x419852
mov eax, dword [ebp - 4]
mov bh, byte [ebp + 8]
movss xmm1, dword [0x506f5c]
shr eax, 0x18
test bh, bh
jne 0x419771
movd xmm0, eax
cvtdq2ps xmm0, xmm0
push ecx
push ecx
mulss xmm0, xmm1
addss xmm0, xmm1
movss dword [ebp + 8], xmm0
fld dword [ebp + 8]
fstp qword [esp]
call fcn.004e6e60
pop ecx
fstp dword [ebp + 8]
cvttss2si eax, dword [ebp + 8]
pop ecx
mov bl, al
movzx eax, al
push ecx
push ecx
not bl
movd xmm1, eax
mov eax, dword [ebp - 4]
cvtdq2ps xmm1, xmm1
shr eax, 8
movzx eax, al
divss xmm1, dword [0x507144]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp + 8], xmm1
mulss xmm0, xmm1
addss xmm0, dword [0x506f5c]
movss dword [ebp - 8], xmm0
fld dword [ebp - 8]
fstp qword [esp]
call fcn.004e6e60
fstp dword [ebp - 8]
cvttss2si eax, dword [ebp - 8]
add al, bl
movzx esi, al
mov eax, dword [ebp - 4]
movzx eax, al
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [ebp + 8]
addss xmm0, dword [0x506f5c]
movss dword [ebp - 8], xmm0
fld dword [ebp - 8]
fstp qword [esp]
call fcn.004e6e60
fstp dword [ebp - 8]
cvttss2si eax, dword [ebp - 8]
add al, bl
movzx eax, al
shl eax, 8
or esi, eax
mov eax, dword [ebp - 4]
shr eax, 0x10
movzx eax, al
shl esi, 8
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [ebp + 8]
addss xmm0, dword [0x506f5c]
movss dword [ebp + 8], xmm0
fld dword [ebp + 8]
fstp qword [esp]
call fcn.004e6e60
fstp dword [ebp + 8]
cvttss2si eax, dword [ebp + 8]
pop ecx
pop ecx
add al, bl
movzx eax, al
or esi, eax
mov dword [edi + 0x98], esi
lea esi, [edi + 0x94]
jmp 0x419897
mov bh, byte [ebp + 8]
lea esi, [edi + 0x94]
mov ecx, dword [esi]
test ecx, ecx
je 0x419881
lea eax, [edi + 0x98]
push eax
movzx eax, bh
xor eax, 1
add eax, 0xeed
push eax
push ecx
call fcn.004691dd
add esp, 0xc
test eax, eax
jns 0x419897
test bh, bh
je 0x419889
push 0x1b
jmp 0x41988b
push 0x1c
call dword [sym.imp.USER32.dll_GetSysColor]
mov dword [edi + 0x98], eax
cmp dword [esi], 0
je 0x4198ca
test bh, bh
jne 0x4198ae
call fcn.004691ff
mov ecx, 0x654
test eax, eax
je 0x4198b3
mov ecx, 0x64a
lea eax, [edi + 0x9c]
push eax
push ecx
push ecx
mov ecx, dword [esi]
call fcn.004691dd
add esp, 0xc
test eax, eax
jns 0x4198eb
lea esi, [edi + 0x9c]
test bh, bh
jne 0x4198e1
call fcn.004691ff
test eax, eax
jne 0x4198e1
push 0x13
jmp 0x4198e3
push 9
call dword [sym.imp.USER32.dll_GetSysColor]
mov dword [esi], eax
mov eax, dword [0x518b80]
cmp byte [eax + 0x1e8], 0
je 0x419921
mov eax, dword [0x513ef4]
push dword [edi]
mov eax, dword [eax + 8]
mov dword [ebp + 8], eax
call dword [sym.imp.USER32.dll_GetParent]
mov ecx, dword [0x519250]
test ecx, ecx
je 0x419921
push 4
lea edx, [ebp + 8]
push edx
push 0x23
push eax
call ecx
pop edi
pop esi
pop ebx
leave
ret 4