Function at 0x14001bb60
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 0x20], rbx
push rdi
sub rsp, 0x460
mov rax, qword [0x14007d038]
xor rax, rsp
mov qword [rsp + 0x450], rax
mov eax, dword [rcx + 0x394]
mov rdi, rdx
mov dword [rsp + 0x40], 0xffffffff
mov rbx, rcx
mov dword [rsp + 0x44], 4
bt eax, 0xf
jb 0x14001bda9
mov rcx, qword [rcx + 0x3a0]
test rcx, rcx
je 0x14001bdad
lea rax, [rsp + 0x44]
xor r9d, r9d
mov qword [rsp + 0x28], rax
lea rdx, str.3BA0CD54_830F_4551_A6EB_F3EAB68E3700_17
lea rax, [rsp + 0x40]
xor r8d, r8d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14001bc27
mov r9d, dword [rsp + 0x40]
mov eax, dword [rbx + 0x394]
test r9d, r9d
je 0x14001bbf6
bts eax, 7
jmp 0x14001bbfe
movzx eax, al
and eax, 0x80
mov dword [rsp + 0x28], eax
lea r8, str.GetAPOFunction_use_RTK_Int_ext_key__d__APOF__X__retAPOF_X_r_n
mov dword [rdi], eax
mov edx, 8
mov eax, dword [rbx + 0x394]
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.1400171b0
jmp 0x14001bdb3
mov rcx, qword [rbx + 0x3a0]
lea rax, [rsp + 0x44]
mov qword [rsp + 0x28], rax
lea rdx, str.2b24be42_a892_11dc_8314_0800200c9a66_17
lea rax, [rsp + 0x40]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14001bca0
mov r9d, dword [rsp + 0x40]
mov eax, dword [rbx + 0x394]
test r9d, r9d
je 0x14001bc6f
bts eax, 7
jmp 0x14001bc77
movzx eax, al
and eax, 0x80
mov dword [rsp + 0x28], eax
lea r8, str.GetAPOFunction_use_FM_Int_ext_key__d__APOF__X__retAPOF_X_r_n
mov dword [rdi], eax
mov edx, 8
mov eax, dword [rbx + 0x394]
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.1400171b0
jmp 0x14001bd7e
xor edx, edx
mov qword [rsp + 0x480], rsi
mov r8d, 0x400
lea rcx, [rsp + 0x50]
call fcn.140028230
lea rdx, [rbx + 0x40]
xor r9d, r9d
lea r8, [rsp + 0x50]
mov rcx, rbx
call fcn.14001bf90
movzx esi, al
lea r8, str.GetAPOFunction__GetMMdeviceDeviceInstId_d___s_r_n
lea rax, [rsp + 0x50]
mov r9d, esi
mov edx, 8
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.1400171b0
test esi, esi
je 0x14001bd14
lea rdx, [rsp + 0x50]
call fcn.14001e580
mov ecx, dword [rbx + 0x394]
mov esi, eax
test eax, eax
je 0x14001bd1a
and ecx, 0x80
jmp 0x14001bd1e
mov ecx, dword [rbx + 0x394]
bts ecx, 7
mov dword [rsp + 0x30], ecx
lea r8, str.GetAPOFunction__Is_Intel_ISST_BT_USB_d___s___APOF__X__retAPOF_X_r_n
mov dword [rdi], ecx
mov r9d, esi
mov eax, dword [rbx + 0x394]
mov edx, 8
mov dword [rsp + 0x28], eax
mov rcx, rbx
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
call fcn.1400171b0
mov eax, dword [rbx + 0x394]
lea r9, [rsp + 0x50]
lea r8, str.GetAPOFunction_Device_InstIds__s__APOF__X__Is_Intel_ISST_BT_USB_d_r_n
mov dword [rsp + 0x28], esi
mov edx, 8
mov dword [rsp + 0x20], eax
mov rcx, rbx
call fcn.1400171b0
mov rsi, qword [rsp + 0x480]
mov eax, dword [rdi]
lea r8, str.GetAPOFunction_use_FM_Int_ext_key__d__APOF__X__retAPOF_X_r_n
mov r9d, dword [rsp + 0x40]
mov edx, 8
mov dword [rsp + 0x28], eax
mov rcx, rbx
mov eax, dword [rbx + 0x394]
mov dword [rsp + 0x20], eax
call fcn.1400171b0
jmp 0x14001bdb3
btr eax, 0xf
bts eax, 7
mov dword [rdx], eax
mov edx, dword [rbx + 0x398]
lea r8, str.APO_Support_function_0x_x__key_value:_0x_x_r_n
mov eax, dword [0x14007ff24]
mov rcx, rbx
shl edx, 0x10
and eax, 0x800
or edx, eax
mov eax, dword [rsp + 0x40]
or dword [rdi], edx
mov edx, 0x40
mov r9d, dword [rdi]
mov dword [rsp + 0x20], eax
call fcn.1400171b0
mov al, 1
mov rcx, qword [rsp + 0x450]
xor rcx, rsp
call fcn.140024cf0
mov rbx, qword [rsp + 0x488]
add rsp, 0x460
pop rdi
ret