Function at 0x140015cf0
Capabilities:
Query or enumerate registry value
Set registry value

Disassembly:
push rbp
push rsi
lea rbp, [rsp - 0x1c8]
sub rsp, 0x2c8
mov rax, qword [0x14004a110]
xor rax, rsp
mov qword [rbp + 0x1b0], rax
mov rsi, rcx
test edx, edx
je 0x140015fe5
mov rcx, qword [r8]
lea r8, [rsp + 0x50]
xor edx, edx
mov rax, qword [rcx]
call qword [rax + 0x68]
test eax, eax
js 0x140015fe5
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 0x2e8], rbx
mov qword [rsp + 0x2c0], r14
xor r14d, r14d
mov qword [rbp - 0x68], 7
mov qword [rbp - 0x70], r14
mov word [rbp - 0x80], r14w
cmp word [rdx], r14w
jne 0x140015d6a
mov r8d, r14d
jmp 0x140015d7a
or r8, 0xffffffffffffffff
nop
inc r8
cmp word [rdx + r8*2], r14w
jne 0x140015d70
lea rcx, [rbp - 0x80]
call fcn.14000dec0
lea rdx, str.ProcessName___
lea rcx, [rsp + 0x60]
mov r8d, 0xf
mov qword [rsp + 0x78], 7
mov qword [rsp + 0x70], r14
mov word [rsp + 0x60], r14w
call fcn.14000dec0
lea rcx, [rbp - 0x5e]
xor edx, edx
mov r8d, 0x206
mov word [rbp - 0x60], r14w
call fcn.140017a30
cmp qword [rsp + 0x78], 8
mov rbx, qword [rsp + 0x70]
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x80]
mov r9, rbx
cmovae rdx, qword [rsp + 0x60]
xor r8d, r8d
call fcn.14000e140
cmp rax, 0xffffffffffffffff
je 0x140015f9f
cmp qword [rbp - 0x68], 8
lea rcx, [rbp - 0x80]
mov qword [rsp + 0x2f8], rdi
cmovae rcx, qword [rbp - 0x80]
add rax, rbx
mov edx, 0x22
lea rdi, [rcx + rax*2]
mov rcx, rdi
call fcn.140019120
mov r8d, 0x104
mov edx, 0x208
sub rax, rdi
sar rax, 1
mov ecx, eax
add rcx, rcx
cmp rcx, 0x208
lea rcx, [rbp - 0x60]
cmova eax, r8d
mov r8, rdi
mov r9d, eax
mov ebx, eax
call fcn.1400196dc
lea rdx, str.Win32_ProcessStartTrace
lea rcx, [rbp - 0x80]
mov r9d, 0x17
xor r8d, r8d
mov word [rbp + rbx*2 - 0x60], r14w
call fcn.14000e140
mov rdi, qword [rsp + 0x2f8]
cmp rax, 0xffffffffffffffff
je 0x140015f27
lea r8, str.SOFTWAREIntelIGFXDPP_
lea rcx, [rsp + 0x38]
mov r9d, 0x2001f
mov rdx, 0xffffffff80000002
mov qword [rsp + 0x38], r14
mov dword [rsp + 0x40], r14d
mov qword [rsp + 0x48], r14
call fcn.140005d10
test eax, eax
jne 0x140015f8f
mov rbx, qword [rsp + 0x38]
lea rcx, [rsp + 0x30]
lea rax, [rsi + 0x20]
mov qword [rsp + 0x28], rcx
lea r9, [rsp + 0x58]
lea rdx, str.EnabledDPP
mov rcx, rbx
xor r8d, r8d
mov dword [rsp + 0x30], 4
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov dword [rsp + 0x30], r14d
lea rax, [rsp + 0x30]
lea rdx, str.EnabledDPP
mov r9d, 4
xor r8d, r8d
mov rcx, rbx
mov dword [rsp + 0x28], 4
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test rbx, rbx
je 0x140015f9f
mov rcx, rbx
jmp 0x140015f99
lea rdx, str.Win32_ProcessStopTrace
lea rcx, [rbp - 0x80]
mov r9d, 0x16
xor r8d, r8d
call fcn.14000e140
cmp rax, 0xffffffffffffffff
je 0x140015f9f
lea r8, str.SOFTWAREIntelIGFXDPP_
lea rcx, [rsp + 0x38]
mov r9d, 0x2001f
mov rdx, 0xffffffff80000002
mov qword [rsp + 0x38], r14
mov dword [rsp + 0x40], r14d
mov qword [rsp + 0x48], r14
call fcn.140005d10
test eax, eax
jne 0x140015f8f
cmp dword [rsi + 0x20], 1
mov rbx, qword [rsp + 0x38]
jne 0x140015f1d
mov dword [rsp + 0x30], 1
jmp 0x140015ef2
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x140015f9f
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp qword [rsp + 0x78], 8
mov rbx, qword [rsp + 0x2e8]
jb 0x140015fb9
mov rcx, qword [rsp + 0x60]
call fcn.140016f70
cmp qword [rbp - 0x68], 8
mov qword [rsp + 0x70], r14
mov word [rsp + 0x60], r14w
mov r14, qword [rsp + 0x2c0]
mov qword [rsp + 0x78], 7
jb 0x140015fe5
mov rcx, qword [rbp - 0x80]
call fcn.140016f70
xor eax, eax
mov rcx, qword [rbp + 0x1b0]
xor rcx, rsp
call fcn.140017a00
add rsp, 0x2c8
pop rsi
pop rbp
ret