Function at 0x14000bed0
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 0x14000c1c0
xor edx, edx
lea rcx, [rbp - 0x50]
mov r8d, 0x100
call fcn.140013e20
lea rdx, [rbp - 0x50]
mov rcx, r12
call sym.amdfendrsr.exe_amdlogumlib_get_driver_list
mov dword [rbp + 0x558], eax
test eax, eax
je 0x14000c1c0
mov qword [rsp + 0x608], r13
xor r13d, r13d
test eax, eax
je 0x14000c1bc
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.140013e20
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 0x14000c16d
mov eax, dword [rbp + 0x1b0]
cmp eax, 1
je 0x14000bfa8
add eax, 0xfffffffa
cmp eax, 1
ja 0x14000c16d
mov r14d, dword [rbp + 0x3f0]
xor esi, esi
test r14d, r14d
je 0x14000c163
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 0x14000c14c
cmp edi, 0x1b
je 0x14000bfe7
xor edi, edi
xor edx, edx
lea rcx, [rbp + 0xb0]
mov r8d, 0x100
mov ebx, 8
call fcn.140013e20
mov r8d, 0x100
lea rdx, [rbp + 0xb0]
lea rcx, [rsp + 0x60]
call fcn.14000ae20
test al, al
je 0x14000c13c
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 0x14000c159
test eax, eax
je 0x14000c074
mov ebx, SQLFreeHandle
jmp 0x14000c14c
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 0x14000c0c6
lea ebx, [rax + 0x17]
jmp 0x14000c131
cmp eax, 2
jne 0x14000c0d5
xor eax, eax
mov dword [rbp + 0x540], eax
jmp 0x14000c0e6
test eax, eax
je 0x14000c0e0
mov ebx, SQLFreeHandle
jmp 0x14000c131
mov eax, dword [rbp + 0x540]
test al, 2
jne 0x14000c131
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 0x14000c15e
cmp ebx, 0x1b
mov eax, SQLFreeHandle
cmove edi, eax
inc esi
cmp esi, r14d
jb 0x14000bfc0
jmp 0x14000c163
mov ebx, SQLFreeHandle
mov edi, SQLFreeHandle
cmp ebx, 0x1c
je 0x14000c1b5
mov rsi, qword [rsp + 0x48]
add rsi, 8
inc r13d
mov qword [rsp + 0x48], rsi
cmp r13d, dword [rbp + 0x558]
jb 0x14000bf60
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 0x14000c188
mov eax, edi
jmp 0x14000c1a0
mov eax, edi
add rsp, 0x618
pop r12
pop rdi
pop rbx
pop rbp
ret