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

Disassembly:
push rbp
push rbx
push rsi
push r15
lea rbp, [rsp - 0x518]
sub rsp, 0x618
xor ebx, ebx
mov r15, rcx
lea esi, [rbx + 8]
cmp rcx, 0xffffffffffffffff
je 0x14000ea30
xor edx, edx
lea rcx, [rbp - 0x50]
mov r8d, 0x100
call fcn.140016dc0
lea rdx, [rbp - 0x50]
mov rcx, r15
call sym.amdfendrsr.exe_amdlogumlib_get_driver_list
mov dword [rbp + 0x558], eax
test eax, eax
je 0x14000ea30
mov qword [rsp + 0x600], r13
xor r13d, r13d
test eax, eax
je 0x14000ea2c
mov qword [rsp + 0x610], rdi
lea rdi, [rbp - 0x50]
mov qword [rsp + 0x608], r12
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x5f8], r14
nop word [rax + rax]
xor edx, edx
lea rcx, [rbp + 0x1b0]
mov r8d, 0x334
call fcn.140016dc0
mov r12, qword [rdi]
lea r8, [rbp + 0x1b0]
mov rdx, r12
mov rcx, r15
call sym.amdfendrsr.exe_amdlogumlib_get_driver_info
test eax, eax
jne 0x14000e9dd
mov eax, dword [rbp + 0x1b0]
cmp eax, 1
je 0x14000e828
add eax, 0xfffffffa
cmp eax, 1
ja 0x14000e9dd
mov r14d, dword [rbp + 0x3f0]
xor edi, edi
test r14d, r14d
je 0x14000e9d3
nop word [rax + rax]
mov r8, qword [rbp + rdi*8 + 0x3f4]
lea r9, [rsp + 0x50]
mov rdx, r12
mov rcx, r15
call sym.amdfendrsr.exe_amdlogumlib_get_device_info
test eax, eax
jne 0x14000e9c8
cmp esi, 0x1b
je 0x14000e867
xor esi, esi
xor edx, edx
lea rcx, [rbp + 0xb0]
mov r8d, 0x100
mov ebx, 8
call fcn.140016dc0
mov r8d, 0x100
lea rdx, [rbp + 0xb0]
lea rcx, [rsp + 0x60]
call fcn.14000d1f0
test al, al
je 0x14000e9bc
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 0x14000ea25
test eax, eax
je 0x14000e8f4
mov ebx, SQLFreeHandle
jmp 0x14000e9c8
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 0x14000e946
lea ebx, [rax + 0x17]
jmp 0x14000e9b1
cmp eax, 2
jne 0x14000e955
xor eax, eax
mov dword [rbp + 0x540], eax
jmp 0x14000e966
test eax, eax
je 0x14000e960
mov ebx, SQLFreeHandle
jmp 0x14000e9b1
mov eax, dword [rbp + 0x540]
test al, 2
jne 0x14000e9b1
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 0x14000ea25
cmp ebx, 0x1b
jne 0x14000e9c8
mov esi, ebx
inc edi
cmp edi, r14d
jb 0x14000e840
cmp ebx, 0x1c
je 0x14000ea25
mov rdi, qword [rsp + 0x48]
add rdi, 8
inc r13d
mov qword [rsp + 0x48], rdi
cmp r13d, dword [rbp + 0x558]
jb 0x14000e7e0
mov eax, esi
mov rdi, qword [rsp + 0x610]
mov r12, qword [rsp + 0x608]
mov r14, qword [rsp + 0x5f8]
mov r13, qword [rsp + 0x600]
add rsp, 0x618
pop r15
pop rsi
pop rbx
pop rbp
ret
mov eax, SQLFreeHandle
jmp 0x14000e9f8
mov eax, esi
jmp 0x14000ea10
mov eax, esi
add rsp, 0x618
pop r15
pop rsi
pop rbx
pop rbp
ret