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

Disassembly:
push rbp
push rbx
push rdi
push r12
lea rbp, [rsp - 0x518]
sub rsp, 0x618
xor ebx, ebx
mov r12, rcx
lea edi, [rbx + 8]
cmp rcx, 0xffffffffffffffff
je 0x14000c230
xor edx, edx
lea rcx, [rbp - 0x50]
mov r8d, 0x100
call fcn.140013e40
lea rdx, [rbp - 0x50]
mov rcx, r12
call sym.amdfendrsr.exe_amdlogumlib_get_driver_list
mov dword [rbp + 0x558], eax
test eax, eax
je 0x14000c230
mov qword [rsp + 0x608], r13
xor r13d, r13d
test eax, eax
je 0x14000c22c
mov qword [rsp + 0x610], rsi
lea rsi, [rbp - 0x50]
mov qword [rsp + 0x600], r14
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x5f8], r15
nop word [rax + rax]
xor edx, edx
lea rcx, [rbp + 0x1b0]
mov r8d, 0x334
call fcn.140013e40
mov r15, qword [rsi]
lea r8, [rbp + 0x1b0]
mov rdx, r15
mov rcx, r12
call sym.amdfendrsr.exe_amdlogumlib_get_driver_info
test eax, eax
jne 0x14000c1dd
mov eax, dword [rbp + 0x1b0]
cmp eax, 1
je 0x14000c018
add eax, 0xfffffffa
cmp eax, 1
ja 0x14000c1dd
mov r14d, dword [rbp + 0x3f0]
xor esi, esi
test r14d, r14d
je 0x14000c1d3
nop word [rax + rax]
mov r8, qword [rbp + rsi*8 + 0x3f4]
lea r9, [rsp + 0x50]
mov rdx, r15
mov rcx, r12
call sym.amdfendrsr.exe_amdlogumlib_get_device_info
test eax, eax
jne 0x14000c1bc
cmp edi, 0x1b
je 0x14000c057
xor edi, edi
xor edx, edx
lea rcx, [rbp + 0xb0]
mov r8d, 0x100
mov ebx, 8
call fcn.140013e40
mov r8d, 0x100
lea rdx, [rbp + 0xb0]
lea rcx, [rsp + 0x60]
call fcn.14000ae90
test al, al
je 0x14000c1ac
xor eax, eax
mov dword [rbp + 0x548], 4
mov dword [rbp + 0x540], eax
lea rdx, [rbp + 0xb0]
mov qword [rsp + 0x40], rax
mov r9d, 0xf003f
lea rax, [rsp + 0x40]
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
cmp eax, 5
je 0x14000c1c9
test eax, eax
je 0x14000c0e4
mov ebx, SQLFreeHandle
jmp 0x14000c1bc
mov rcx, qword [rsp + 0x40]
lea rax, [rbp + 0x548]
mov qword [rsp + 0x30], rax
lea r8, str.KMD_EnableAmdFendrOptions
lea rax, [rbp + 0x540]
mov dword [rbp + 0x550], 0
mov qword [rsp + 0x28], rax
mov r9d, SQLPrepare
lea rax, [rbp + 0x550]
xor edx, edx
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegGetValueA]
cmp eax, 5
jne 0x14000c136
lea ebx, [rax + 0x17]
jmp 0x14000c1a1
cmp eax, 2
jne 0x14000c145
xor eax, eax
mov dword [rbp + 0x540], eax
jmp 0x14000c156
test eax, eax
je 0x14000c150
mov ebx, SQLFreeHandle
jmp 0x14000c1a1
mov eax, dword [rbp + 0x540]
test al, 2
jne 0x14000c1a1
mov rcx, qword [rsp + 0x40]
lea rdx, str.KMD_EnableAmdFendrOptions
or eax, 2
mov dword [rsp + 0x28], 4
mov dword [rbp + 0x540], eax
mov r9d, 4
lea rax, [rbp + 0x540]
xor r8d, r8d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegSetValueExA]
test eax, eax
mov ebx, SQLFreeHandle
mov eax, SQLFreeHandle
cmovne ebx, eax
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp ebx, 0x1c
je 0x14000c1ce
cmp ebx, 0x1b
mov eax, SQLFreeHandle
cmove edi, eax
inc esi
cmp esi, r14d
jb 0x14000c030
jmp 0x14000c1d3
mov ebx, SQLFreeHandle
mov edi, SQLFreeHandle
cmp ebx, 0x1c
je 0x14000c225
mov rsi, qword [rsp + 0x48]
add rsi, 8
inc r13d
mov qword [rsp + 0x48], rsi
cmp r13d, dword [rbp + 0x558]
jb 0x14000bfd0
mov eax, edi
mov r14, qword [rsp + 0x600]
mov rsi, qword [rsp + 0x610]
mov r15, qword [rsp + 0x5f8]
mov r13, qword [rsp + 0x608]
add rsp, 0x618
pop r12
pop rdi
pop rbx
pop rbp
ret
mov eax, SQLFreeHandle
jmp 0x14000c1f8
mov eax, edi
jmp 0x14000c210
mov eax, edi
add rsp, 0x618
pop r12
pop rdi
pop rbx
pop rbp
ret