Function at 0x407f50
Capabilities:
Set registry value

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x11c
mov ebp, dword [sym.imp.USER32.dll_wsprintfW]
mov eax, dword [esp + 0x138]
lea ebx, [esp + 0x6a]
mov dword [esp + 8], str.Control_PanelAppearanceClassicSchemes
mov dword [esp + 4], 0x40e4bc
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x134]
mov dword [esp], ebx
mov dword [esp + 0xc], eax
call ebp
cmp eax, 0x2a
jg 0x407fa8
add esp, 0x11c
xor edi, edi
pop ebx
mov eax, edi
pop esi
pop edi
pop ebp
ret
lea eax, [esp + 0x54]
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 2
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], ebx
mov dword [esp], 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
sub esp, 0x24
test eax, eax
jne 0x407f94
mov edi, 1
xor esi, esi
lea ebx, [esp + 0x5c]
mov dword [esp + 0x44], edi
lea esi, cs:[esi]
nop
mov dword [esp + 8], esi
mov dword [esp + 4], str.Font_d
mov dword [esp], ebx
call ebp
cmp eax, 4
jle 0x408040
mov eax, dword [esp + 0x130]
cmp esi, 5
ja case.0x408036.0
jmp dword [esi*4 + 0x40e558]
mov dword [esp + 0x44], 0
add esi, 1
cmp esi, 6
jne 0x408010
mov edi, dword [esp + 0x44]
xor esi, esi
jmp 0x4080e0
mov eax, dword [esp + 0x130]
mov dword [esp + 4], esi
mov dword [esp], eax
call fcn.00406840
mov edx, dword [0x41300c]
cmp edx, 0x60
je 0x408096
mov dword [esp + 8], edx
mov dword [esp + 4], 0x60
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_MulDiv]
sub esp, 0xc
mov dword [esp + 0x58], eax
lea eax, [esp + 0x58]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x14], 4
mov dword [esp + 0xc], 4
mov dword [esp + 8], 0
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
sub esp, 0x18
test eax, eax
sete al
add esi, 1
movzx eax, al
and edi, eax
cmp esi, 0xa
je 0x408104
mov dword [esp + 8], esi
mov dword [esp + 4], str.Size_d
mov dword [esp], ebx
call ebp
cmp eax, 4
jg 0x408060
add esi, 1
xor edi, edi
cmp esi, 0xa
jne 0x4080e0
mov eax, dword [esp + 0x54]
mov dword [esp], eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, edi
sub esp, 4
add esp, 0x11c
pop ebx
pop esi
pop edi
pop ebp
ret
lea edi, [eax + 0x1f8]
nop
movq xmm0, qword [edi]
mov eax, dword [0x41300c]
movq qword [esp + 0x38], xmm0
cmp eax, 0x60
je 0x40818b
mov dword [esp + 8], eax
mov eax, dword [esp + 0x38]
movq qword [esp + 0x48], xmm0
mov dword [esp + 4], 0x60
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov dword [edi], eax
mov eax, dword [0x41300c]
sub esp, 0xc
mov dword [esp + 4], 0x60
mov dword [esp + 8], eax
mov eax, dword [edi + 4]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov dword [edi + 4], eax
sub esp, 0xc
mov eax, dword [esp + 0x54]
mov dword [esp + 0x14], 0x5c
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], 3
mov dword [esp + 8], 0
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
sub esp, 0x18
cmp dword [0x41300c], 0x60
je 0x408048
movq xmm1, qword [esp + 0x38]
movq qword [edi], xmm1
jmp 0x408048
lea edi, [eax + 0x198]
jmp 0x408130
lea edi, [eax + 0x13c]
jmp 0x408130
lea edi, [eax + 0xe0]
jmp 0x408130
lea edi, [eax + 0x7c]
jmp 0x408130
lea edi, [eax + 0x18]
jmp 0x408130