Function at 0x14000d560
Capabilities:
Set registry value

Disassembly:
push rbx
push rbp
push rdi
push r12
push r15
sub rsp, 0x50
mov rdi, rdx
mov edx, dword [rdx + 4]
xor r12d, r12d
lea eax, [rdx - 1]
mov rbp, r8
mov r15, rcx
cmp eax, 0x13
ja 0x14000d5ce
mov ebx, r12d
test edx, edx
je 0x14000d5c5
nop word [rax + rax]
mov ecx, ebx
lea r8, [rdi + 0xc90]
mov edx, 0x104
imul rax, rcx, 0x210
add r8, rax
imul rax, rcx, 0x218
lea rcx, [rbp + 0x228]
add rcx, rax
call fcn.140018870
inc ebx
cmp ebx, dword [rdi + 4]
jb 0x14000d590
mov eax, dword [rdi + 4]
mov dword [rbp + 0x210], eax
mov r10, qword [r15 + 0x20]
mov rax, qword [r10]
cmp rax, r10
je 0x14000d82d
nop
mov rcx, qword [rax + 0x10]
lea r9, [rbp + 4]
add rcx, 4
sub r9, rcx
nop
movzx r8d, word [rcx]
movzx edx, word [rcx + r9]
sub r8d, edx
jne 0x14000d606
add rcx, 2
test edx, edx
jne 0x14000d5f0
test r8d, r8d
je 0x14000d613
mov rax, qword [rax]
cmp rax, r10
jne 0x14000d5e0
cmp rax, r10
je 0x14000d82d
mov qword [rsp + 0x90], rsi
lea rsi, [rax + 0x10]
mov qword [rsp + 0x98], r14
mov rax, qword [rsi]
mov r11d, 1
mov r14d, r12d
cmp dword [rax + 0x210], r12d
jbe 0x14000d7c2
nop dword [rax]
mov ebx, r12d
cmp dword [rbp + 0x210], ebx
jbe 0x14000d6f2
mov eax, r14d
imul rdi, rax, 0x218
nop dword [rax]
mov r9, qword [rsi]
mov eax, ebx
lea r8, [rbp + 0x228]
imul r10, rax, 0x218
lea rax, [rdi + 0x228]
add r8, r10
add rax, r9
sub r8, rax
movzx edx, word [rax]
movzx ecx, word [rax + r8]
sub edx, ecx
jne 0x14000d6a7
add rax, 2
test ecx, ecx
jne 0x14000d693
test edx, edx
jne 0x14000d6df
cmp qword [r9 + rdi + 0x220], r12
je 0x14000d6df
lea rdx, [rdi + 0x218]
lea rcx, [rbp + 0x218]
add rdx, r9
add rcx, r10
cmp rcx, rdx
je 0x14000d6dc
mov rdx, qword [rdx]
mov r8, rdx
mov rdx, qword [rdx]
call fcn.14000a5a0
mov r11d, r12d
inc ebx
cmp ebx, dword [rbp + 0x210]
jb 0x14000d670
test r11d, r11d
je 0x14000d7a9
mov rdx, qword [rsi]
mov eax, r14d
imul rcx, rax, 0x218
cmp qword [rcx + rdx + 0x220], r12
je 0x14000d7a9
mov qword [rsp + 0x40], r12
lea rbx, [rcx + rdx]
lea rax, [rsp + 0x88]
mov qword [rsp + 0x38], rax
lea rdi, [rdx + 4]
mov qword [rsp + 0x30], r12
lea rdx, str.SOFTWAREIntelDisplayigfxcuiprofiles_app
xor r9d, r9d
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov dword [rsp + 0x28], 2
mov dword [rsp + 0x80], r12d
mov dword [rsp + 0x20], r12d
mov qword [rsp + 0x88], r12
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
mov rcx, qword [rsp + 0x88]
test rcx, rcx
je 0x14000d7a9
lea rax, [rsp + 0x80]
lea r8, [rbx + 0x228]
mov r9d, 4
mov rdx, rdi
mov dword [rsp + 0x28], 4
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegSetKeyValueW]
mov rcx, qword [rsp + 0x88]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rax, qword [rsi]
inc r14d
mov r11d, 1
cmp r14d, dword [rax + 0x210]
jb 0x14000d650
mov rdx, qword [rsi]
mov rcx, r15
call fcn.14000b210
mov rdi, qword [r15 + 0x20]
mov r14, qword [rsp + 0x98]
mov rax, qword [rdi]
cmp rax, rdi
je 0x14000d7fe
mov rcx, qword [rsi]
lea rdx, [rax + 0x10]
cmp qword [rdx], rcx
jne 0x14000d7f5
cmp rdx, rsi
jne 0x14000d83b
mov rdi, rax
mov rax, qword [rax]
cmp rax, qword [r15 + 0x20]
jne 0x14000d7e1
mov rsi, qword [rsp + 0x90]
cmp rdi, qword [r15 + 0x20]
je 0x14000d82d
mov rcx, qword [rdi + 8]
mov rax, qword [rdi]
mov qword [rcx], rax
mov rcx, qword [rdi]
mov rax, qword [rdi + 8]
mov qword [rcx + 8], rax
dec qword [r15 + 0x28]
mov rcx, rdi
call fcn.140016f70
xor eax, eax
add rsp, 0x50
pop r15
pop r12
pop rdi
pop rbp
pop rbx
ret
mov rcx, qword [rax + 8]
mov rbx, qword [rax]
mov qword [rcx], rbx
mov rcx, qword [rax + 8]
mov rdx, qword [rax]
mov qword [rdx + 8], rcx
dec qword [r15 + 0x28]
mov rcx, rax
call fcn.140016f70
mov rax, rbx
jmp 0x14000d7f8