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

Disassembly:
push rbp
push rbx
push rdi
push r15
lea rbp, [rsp - 0x518]
sub rsp, 0x618
xor ebx, ebx
mov r15, rcx
lea edi, [rbx + 8]
cmp rcx, 0xffffffffffffffff
je 0x14000e984
xor edx, edx
lea rcx, [rbp - 0x50]
mov r8d, pe_nt_image_headers64
call fcn.140016d00
lea rdx, [rbp - 0x50]
mov rcx, r15
call sym.amdfendrsr.exe_amdlogumlib_get_driver_list
mov dword [rbp + 0x558], eax
test eax, eax
je 0x14000e984
mov qword [rsp + 0x600], r13
xor r13d, r13d
test eax, eax
je 0x14000e980
mov qword [rsp + 0x610], rsi
lea rsi, [rbp - 0x50]
mov qword [rsp + 0x608], r12
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x5f8], r14
nop word [rax + rax]
xor edx, edx
lea rcx, [rbp + 0x1b0]
mov r8d, 0x334
call fcn.140016d00
mov r12, qword [rsi]
lea r8, [rbp + 0x1b0]
mov rdx, r12
mov rcx, r15
call sym.amdfendrsr.exe_amdlogumlib_get_driver_info
test eax, eax
jne 0x14000e931
mov eax, dword [rbp + 0x1b0]
cmp eax, 1
je 0x14000e778
add eax, 0xfffffffa
cmp eax, 1
ja 0x14000e931
mov r14d, dword [rbp + 0x3f0]
xor esi, esi
test r14d, r14d
je 0x14000e927
nop word [rax + rax]
mov r8, qword [rbp + rsi*8 + 0x3f4]
lea r9, [rsp + 0x50]
mov rdx, r12
mov rcx, r15
call sym.amdfendrsr.exe_amdlogumlib_get_device_info
test eax, eax
jne 0x14000e91c
cmp edi, 0x1b
je 0x14000e7b7
xor edi, edi
xor edx, edx
lea rcx, [rbp + 0xb0]
mov r8d, pe_nt_image_headers64
mov ebx, 8
call fcn.140016d00
mov r8d, pe_nt_image_headers64
lea rdx, [rbp + 0xb0]
lea rcx, [rsp + 0x60]
call fcn.14000d150
test al, al
je 0x14000e90c
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 0x14000e979
test eax, eax
je 0x14000e844
mov ebx, SQLFreeHandle
jmp 0x14000e91c
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 0x14000e896
lea ebx, [rax + 0x17]
jmp 0x14000e901
cmp eax, 2
jne 0x14000e8a5
xor eax, eax
mov dword [rbp + 0x540], eax
jmp 0x14000e8b6
test eax, eax
je 0x14000e8b0
mov ebx, SQLFreeHandle
jmp 0x14000e901
mov eax, dword [rbp + 0x540]
test al, 2
jne 0x14000e901
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 0x14000e979
cmp ebx, 0x1b
mov eax, SQLFreeHandle
cmove edi, eax
inc esi
cmp esi, r14d
jb 0x14000e790
cmp ebx, 0x1c
je 0x14000e979
mov rsi, qword [rsp + 0x48]
add rsi, 8
inc r13d
mov qword [rsp + 0x48], rsi
cmp r13d, dword [rbp + 0x558]
jb 0x14000e730
mov eax, edi
mov rsi, qword [rsp + 0x610]
mov r12, qword [rsp + 0x608]
mov r14, qword [rsp + 0x5f8]
mov r13, qword [rsp + 0x600]
add rsp, 0x618
pop r15
pop rdi
pop rbx
pop rbp
ret
mov eax, SQLFreeHandle
jmp 0x14000e94c
mov eax, edi
jmp 0x14000e964
mov eax, edi
add rsp, 0x618
pop r15
pop rdi
pop rbx
pop rbp
ret