Function at 0x140017ed0
Capabilities:
Set registry value

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0xc8]
sub rsp, 0x1a0
mov qword [rbp - 0x38], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov rax, qword [0x140053008]
xor rax, rsp
mov qword [rbp + 0x90], rax
mov rax, qword [0x140053bd0]
mov qword [rsp + 0x78], rax
mov qword [0x140053bd0], 0xffffffff80000002
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x50], xmm0
xor r14d, r14d
mov qword [rbp - 0x40], r14
movdqu xmmword [rbp - 0x68], xmm0
mov qword [rbp - 0x58], r14
movdqu xmmword [rsp + 0x58], xmm0
mov qword [rsp + 0x68], r14
mov qword [rbp + 0x48], 7
mov qword [rbp + 0x40], r14
mov word [rbp + 0x30], r14w
lea rcx, [rbp + 0x30]
call fcn.140017d70
movabs rdi, 0x7fffffffffffffff
test eax, eax
je 0x140018aaf
mov qword [rbp + 0x28], 7
mov qword [rbp + 0x20], r14
mov word [rbp + 0x10], r14w
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rbp + 0x30]
lea rcx, [rbp + 0x10]
call fcn.14000d110
nop
lea r8d, [r14 + 0x18]
lea rdx, str.drivers_atheros_bth.inf
lea rcx, [rbp + 0x10]
call fcn.14000d250
mov qword [rbp - 0x18], 7
mov qword [rbp - 0x20], r14
mov word [rbp - 0x30], r14w
lea r8d, [r14 + 0xd]
lea rdx, str.XYZBth.NT.5.1
lea rcx, [rbp - 0x30]
call fcn.14000cb70
nop
lea r8, [rbp + 0x10]
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x50]
call fcn.14000bec0
nop
mov rax, qword [rbp - 0x18]
cmp rax, 8
jb 0x14001804c
inc rax
mov rcx, qword [rbp - 0x30]
cmp rax, rdi
jbe 0x140018003
call fcn.140029838
int3
add rax, rax
cmp rax, 0x1000
jb 0x140018047
test byte [rbp - 0x30], 0x1f
je 0x14001801a
call fcn.140029838
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x140018029
call fcn.140029838
int3
sub rcx, rax
cmp rcx, 8
jae 0x140018038
call fcn.140029838
int3
cmp rcx, 0x27
jbe 0x140018044
call fcn.140029838
int3
mov rcx, rax
call fcn.140019d14
mov esi, r14d
mov r12, qword [rbp - 0x48]
mov r13, qword [rbp - 0x50]
sub r12, r13
sar r12, 5
test r12, r12
je 0x14001816b
mov rax, r14
nop word [rax + rax]
shl rax, 5
lea rbx, [rax + r13]
cmp qword [rbx + 0x10], 1
ja 0x140018098
mov qword [rbx + 0x10], r14
cmp qword [rbx + 0x18], 8
jb 0x14001808f
mov rax, qword [rbx]
jmp 0x140018092
mov rax, rbx
mov word [rax], r14w
jmp 0x1400180d6
cmp qword [rbx + 0x18], 8
jb 0x1400180a4
mov rcx, qword [rbx]
jmp 0x1400180a7
mov rcx, rbx
mov rdi, qword [rbx + 0x10]
sub rdi, 1
je 0x1400180be
lea r8, [rdi + rdi]
lea rdx, [rcx + 2]
call fcn.14001c560
mov qword [rbx + 0x10], rdi
cmp qword [rbx + 0x18], 8
jb 0x1400180ce
mov rax, qword [rbx]
jmp 0x1400180d1
mov rax, rbx
mov word [rax + rdi*2], r14w
mov rax, qword [rbx + 0x10]
lea rcx, [rax - 1]
cmp rax, rcx
jb 0x14001815e
sub rax, rcx
cmp rax, 1
ja 0x140018101
mov qword [rbx + 0x10], rcx
cmp qword [rbx + 0x18], 8
jb 0x1400180fa
mov rbx, qword [rbx]
mov word [rbx + rcx*2], r14w
jmp 0x140018145
cmp qword [rbx + 0x18], 8
jb 0x14001810d
mov rax, qword [rbx]
jmp 0x140018110
mov rax, rbx
lea r9, [rax + rcx*2]
mov rdi, qword [rbx + 0x10]
dec rdi
mov r8, rdi
sub r8, rcx
je 0x140018132
add r8, r8
lea rdx, [r9 + 2]
mov rcx, r9
call fcn.14001c560
mov qword [rbx + 0x10], rdi
cmp qword [rbx + 0x18], 8
jb 0x140018140
mov rbx, qword [rbx]
mov word [rbx + rdi*2], r14w
inc esi
mov eax, esi
cmp rax, r12
jb 0x140018070
movabs rdi, 0x7fffffffffffffff
jmp 0x14001816b
lea rcx, str.invalid_string_position
call fcn.140019c90
int3
mov qword [rbp - 0x18], 7
mov qword [rbp - 0x20], r14
mov word [rbp - 0x30], r14w
mov r8d, 0x21
lea rdx, str.SYSTEMCurrentControlSetEnumUSB
lea rcx, [rbp - 0x30]
call fcn.14000cb70
nop
lea r8, [rbp - 0x68]
lea rdx, [rbp - 0x30]
call fcn.14000bbe0
nop
mov rax, qword [rbp - 0x18]
cmp rax, 8
jb 0x140018206
inc rax
mov rcx, qword [rbp - 0x30]
cmp rax, rdi
jbe 0x1400181bd
call fcn.140029838
int3
add rax, rax
cmp rax, 0x1000
jb 0x140018201
test byte [rbp - 0x30], 0x1f
je 0x1400181d4
call fcn.140029838
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x1400181e3
call fcn.140029838
int3
sub rcx, rax
cmp rcx, 8
jae 0x1400181f2
call fcn.140029838
int3
cmp rcx, 0x27
jbe 0x1400181fe
call fcn.140029838
int3
mov rcx, rax
call fcn.140019d14
mov rdi, r14
mov qword [rsp + 0x60], r14
mov r15d, r14d
test r12, r12
je 0x1400182a2
mov rcx, r14
mov rsi, qword [rbp - 0x60]
mov r14, qword [rbp - 0x68]
sub rsi, r14
sar rsi, 5
xor eax, eax
nop
mov edi, eax
test rsi, rsi
je 0x14001828f
shl rcx, 5
lea rbx, [rcx + r13]
nop
shl rax, 5
add rax, r14
lea r9, [rax + 0x10]
cmp qword [rax + 0x18], 8
jb 0x140018255
mov rax, qword [rax]
cmp qword [rbx + 0x18], 8
jb 0x140018261
mov rcx, qword [rbx]
jmp 0x140018264
mov rcx, rbx
mov r9, qword [r9]
mov r8, rax
mov rdx, qword [rbx + 0x10]
call fcn.14000cae0
test eax, eax
jne 0x140018284
mov rdx, rbx
lea rcx, [rsp + 0x58]
call fcn.14000c630
inc edi
mov eax, edi
cmp rax, rsi
jb 0x140018240
xor eax, eax
inc r15d
mov ecx, r15d
cmp rcx, r12
jb 0x140018230
mov rdi, qword [rsp + 0x60]
xor r14d, r14d
mov rsi, qword [rsp + 0x58]
mov rbx, rsi
cmp rsi, rdi
je 0x1400182c1
nop
mov rcx, rbx
call fcn.14000c970
add rbx, 0x20
cmp rbx, rdi
jne 0x1400182b0
mov qword [rsp + 0x60], rsi
mov qword [rbp - 0x18], 7
mov qword [rbp - 0x20], r14
mov word [rbp - 0x30], r14w
mov r8d, 0x17
lea rdx, str.Vid_0cf3Pid_3006MI_00
lea rcx, [rbp - 0x30]
call fcn.14000cb70
nop
lea rdx, [rbp - 0x30]
lea rcx, [rsp + 0x58]
call fcn.14000c800
nop
mov rax, qword [rbp - 0x18]
movabs rdi, 0x7fffffffffffffff
cmp rax, 8
jb 0x14001836c
inc rax
mov rcx, qword [rbp - 0x30]
cmp rax, rdi
jbe 0x140018323
call fcn.140029838
int3
add rax, rax
cmp rax, 0x1000
jb 0x140018367
test byte [rbp - 0x30], 0x1f
je 0x14001833a
call fcn.140029838
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x140018349
call fcn.140029838
int3
sub rcx, rax
cmp rcx, 8
jae 0x140018358
call fcn.140029838
int3
cmp rcx, 0x27
jbe 0x140018364
call fcn.140029838
int3
mov rcx, rax
call fcn.140019d14
mov qword [rbp - 0x18], 7
mov qword [rbp - 0x20], r14
mov word [rbp - 0x30], r14w
mov r8d, 0x17
lea rdx, str.Vid_0cf3Pid_3006MI_01
lea rcx, [rbp - 0x30]
call fcn.14000cb70
nop
lea rdx, [rbp - 0x30]
lea rcx, [rsp + 0x58]
call fcn.14000c800
nop
mov rax, qword [rbp - 0x18]
cmp rax, 8
jb 0x140018408
inc rax
mov rcx, qword [rbp - 0x30]
cmp rax, rdi
jbe 0x1400183bf
call fcn.140029838
int3
add rax, rax
cmp rax, 0x1000
jb 0x140018403
test byte [rbp - 0x30], 0x1f
je 0x1400183d6
call fcn.140029838
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x1400183e5
call fcn.140029838
int3
sub rcx, rax
cmp rcx, 8
jae 0x1400183f4
call fcn.140029838
int3
cmp rcx, 0x27
jbe 0x140018400
call fcn.140029838
int3
mov rcx, rax
call fcn.140019d14
mov r15d, r14d
mov r12, qword [rsp + 0x60]
mov r13, qword [rsp + 0x58]
sub r12, r13
sar r12, 5
test r12, r12
je 0x140018a2d
mov rbx, r14
nop dword [rax + rax]
mov qword [rbp - 0x18], 7
mov qword [rbp - 0x20], r14
mov word [rbp - 0x30], r14w
mov r8d, 0x21
lea rdx, str.SYSTEMCurrentControlSetEnumUSB
lea rcx, [rbp - 0x30]
call fcn.14000cb70
nop
lea rdx, [rbp - 0x30]
lea rcx, [rbp + 0x50]
call fcn.140018cb0
nop
shl rbx, 5
lea r8, [rbx + r13]
mov rdx, rax
lea rcx, [rbp - 0x10]
call fcn.140018df0
mov rbx, rax
lea rax, [rbp - 0x30]
cmp rax, rbx
je 0x1400184ff
mov rcx, qword [rbp - 0x18]
cmp rcx, 8
jb 0x1400184e1
lea rax, [rcx + 1]
mov rcx, qword [rbp - 0x30]
cmp rax, rdi
ja 0x140018955
add rax, rax
cmp rax, 0x1000
jb 0x1400184dc
test cl, 0x1f
jne 0x14001894f
mov rax, qword [rcx - 8]
cmp rax, rcx
jae 0x140018949
sub rcx, rax
cmp rcx, 8
jb 0x140018943
cmp rcx, 0x27
ja 0x14001893d
mov rcx, rax
call fcn.140019d14
mov qword [rbp - 0x18], 7
mov qword [rbp - 0x20], r14
mov word [rbp - 0x30], r14w
mov rdx, rbx
lea rcx, [rbp - 0x30]
call fcn.14000dba0
nop
mov rax, qword [rbp + 8]
cmp rax, 8
jb 0x140018559
inc rax
mov rcx, qword [rbp - 0x10]
cmp rax, rdi
ja 0x140018973
add rax, rax
cmp rax, 0x1000
jb 0x140018554
test cl, 0x1f
jne 0x14001896d
mov rax, qword [rcx - 8]
cmp rax, rcx
jae 0x140018967
sub rcx, rax
cmp rcx, 8
jb 0x140018961
cmp rcx, 0x27
ja 0x14001895b
mov rcx, rax
call fcn.140019d14
mov qword [rbp + 8], 7
mov qword [rbp], r14
mov word [rbp - 0x10], r14w
mov rax, qword [rbp + 0x68]
cmp rax, 8
jb 0x1400185c4
inc rax
mov rcx, qword [rbp + 0x50]
cmp rax, rdi
ja 0x140018991
add rax, rax
cmp rax, 0x1000
jb 0x1400185bf
test cl, 0x1f
jne 0x14001898b
mov rax, qword [rcx - 8]
cmp rax, rcx
jae 0x140018985
sub rcx, rax
cmp rcx, 8
jb 0x14001897f
cmp rcx, 0x27
ja 0x140018979
mov rcx, rax
call fcn.140019d14
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x70], r14
lea rdx, [rbp - 0x30]
cmp qword [rbp - 0x18], 8
cmovae rdx, qword [rbp - 0x30]
mov qword [rbp + 8], 7
mov qword [rbp], r14
mov word [rbp - 0x10], r14w
cmp word [rdx], 0
jne 0x1400185fa
mov r8, r14
jmp 0x14001860b
or r8, 0xffffffffffffffff
nop
inc r8
cmp word [rdx + r8*2], 0
jne 0x140018600
lea rcx, [rbp - 0x10]
call fcn.14000cb70
nop
lea r8, [rbp - 0x80]
lea rdx, [rbp - 0x10]
call fcn.14000bbe0
nop
mov rax, qword [rbp + 8]
cmp rax, 8
jb 0x14001867d
inc rax
mov rcx, qword [rbp - 0x10]
cmp rax, rdi
ja 0x1400189af
add rax, rax
cmp rax, 0x1000
jb 0x140018678
test cl, 0x1f
jne 0x1400189a9
mov rax, qword [rcx - 8]
cmp rax, rcx
jae 0x1400189a3
sub rcx, rax
cmp rcx, 8
jb 0x14001899d
cmp rcx, 0x27
ja 0x140018997
mov rcx, rax
call fcn.140019d14
mov edi, r14d
mov rsi, qword [rbp - 0x78]
mov r14, qword [rbp - 0x80]
sub rsi, r14
sar rsi, 5
test rsi, rsi
je 0x1400188b8
xor ebx, ebx
nop word [rax + rax]
lea rdx, [rbp - 0x30]
lea rcx, [rbp + 0x70]
call fcn.140018cb0
nop
shl rbx, 5
lea r8, [r14 + rbx]
mov rdx, rax
lea rcx, [rbp - 0x10]
call fcn.140018df0
nop
mov rdx, rax
lea rcx, [rbp + 0x50]
call fcn.140018c50
nop
mov rax, qword [rbp + 8]
cmp rax, 8
jb 0x140018734
inc rax
mov rcx, qword [rbp - 0x10]
movabs rdx, 0x7fffffffffffffff
cmp rax, rdx
ja 0x1400189cd
add rax, rax
cmp rax, 0x1000
jb 0x14001872f
test cl, 0x1f
jne 0x1400189c7
mov rax, qword [rcx - 8]
cmp rax, rcx
jae 0x1400189c1
sub rcx, rax
cmp rcx, 8
jb 0x1400189bb
cmp rcx, 0x27
ja 0x1400189b5
mov rcx, rax
call fcn.140019d14
mov qword [rbp + 8], 7
xor ebx, ebx
mov qword [rbp], rbx
mov word [rbp - 0x10], bx
mov rax, qword [rbp + 0x88]
cmp rax, 8
jb 0x1400187ad
inc rax
mov rcx, qword [rbp + 0x70]
movabs rdx, 0x7fffffffffffffff
cmp rax, rdx
ja 0x1400189eb
add rax, rax
cmp rax, 0x1000
jb 0x1400187a8
test cl, 0x1f
jne 0x1400189e5
mov rax, qword [rcx - 8]
cmp rax, rcx
jae 0x1400189df
sub rcx, rax
cmp rcx, 8
jb 0x1400189d9
cmp rcx, 0x27
ja 0x1400189d3
mov rcx, rax
call fcn.140019d14
mov qword [rbp + 0x88], 7
mov qword [rbp + 0x80], rbx
mov word [rbp + 0x70], bx
mov byte [rsp + 0x50], 1
lea rdx, [rbp + 0x50]
cmp qword [rbp + 0x68], 8
cmovae rdx, qword [rbp + 0x50]
mov qword [rsp + 0x40], rbx
lea rax, [rsp + 0x70]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rbx
mov eax, dword [0x140053bc8]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ebx
xor r9d, r9d
xor r8d, r8d
mov rcx, qword [0x140053bd0]
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x140018847
mov dword [rsp + 0x28], 1
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
mov r9d, 3
xor r8d, r8d
lea rdx, str.SelectiveSuspendEnabled
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rax, qword [rbp + 0x68]
cmp rax, 8
jb 0x1400188ab
inc rax
mov rcx, qword [rbp + 0x50]
movabs rdx, 0x7fffffffffffffff
cmp rax, rdx
ja 0x140018a09
add rax, rax
cmp rax, 0x1000
jb 0x1400188a6
test cl, 0x1f
jne 0x140018a03
mov rax, qword [rcx - 8]
cmp rax, rcx
jae 0x1400189fd
sub rcx, rax
cmp rcx, 8
jb 0x1400189f7
cmp rcx, 0x27
ja 0x1400189f1
mov rcx, rax
call fcn.140019d14
inc edi
mov ebx, edi
cmp rbx, rsi
jb 0x1400186a0
lea rcx, [rbp - 0x80]
call fcn.140018b90
nop
mov rax, qword [rbp - 0x18]
movabs rdi, 0x7fffffffffffffff
cmp rax, 8
jb 0x140018926
inc rax
mov rcx, qword [rbp - 0x30]
cmp rax, rdi
ja 0x140018a27
add rax, rax
cmp rax, 0x1000
jb 0x140018921
test cl, 0x1f
jne 0x140018a21
mov rax, qword [rcx - 8]
cmp rax, rcx
jae 0x140018a1b
sub rcx, rax
cmp rcx, 8
jb 0x140018a15
cmp rcx, 0x27
ja 0x140018a0f
mov rcx, rax
call fcn.140019d14
inc r15d
mov ebx, r15d
xor r14d, r14d
cmp rbx, r12
jae 0x140018a2d
jmp 0x140018430
call fcn.140029838
int3
call fcn.140029838
int3
call fcn.140029838
int3
call fcn.140029838
int3
call fcn.140029838
nop
call fcn.140029838
int3
call fcn.140029838
int3
call fcn.140029838
int3
call fcn.140029838
int3
call fcn.140029838
nop
call fcn.140029838
int3
call fcn.140029838
int3
call fcn.140029838
int3
call fcn.140029838
int3
call fcn.140029838
nop
call fcn.140029838
int3
call fcn.140029838
int3
call fcn.140029838
int3
call fcn.140029838
int3
call fcn.140029838
nop
call fcn.140029838
int3
call fcn.140029838
int3
call fcn.140029838
int3
call fcn.140029838
int3
call fcn.140029838
nop
call fcn.140029838
int3
call fcn.140029838
int3
call fcn.140029838
int3
call fcn.140029838
int3
call fcn.140029838
int3
call fcn.140029838
int3
call fcn.140029838
int3
call fcn.140029838
int3
call fcn.140029838
int3
call fcn.140029838
nop
call fcn.140029838
int3
call fcn.140029838
int3
call fcn.140029838
int3
call fcn.140029838
int3
call fcn.140029838
int3
mov rax, qword [rsp + 0x78]
mov qword [0x140053bd0], rax
mov rax, qword [rbp + 0x28]
cmp rax, 8
jb 0x140018a9e
inc rax
mov rcx, qword [rbp + 0x10]
cmp rax, rdi
jbe 0x140018a55
call fcn.140029838
int3
add rax, rax
cmp rax, 0x1000
jb 0x140018a99
test byte [rbp + 0x10], 0x1f
je 0x140018a6c
call fcn.140029838
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x140018a7b
call fcn.140029838
int3
sub rcx, rax
cmp rcx, 8
jae 0x140018a8a
call fcn.140029838
int3
cmp rcx, 0x27
jbe 0x140018a96
call fcn.140029838
int3
mov rcx, rax
call fcn.140019d14
mov qword [rbp + 0x28], 7
mov qword [rbp + 0x20], r14
mov word [rbp + 0x10], r14w
mov rax, qword [rbp + 0x48]
cmp rax, 8
jb 0x140018b14
inc rax
mov rcx, qword [rbp + 0x30]
cmp rax, rdi
jbe 0x140018acb
call fcn.140029838
int3
add rax, rax
cmp rax, 0x1000
jb 0x140018b0f
test byte [rbp + 0x30], 0x1f
je 0x140018ae2
call fcn.140029838
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x140018af1
call fcn.140029838
int3
sub rcx, rax
cmp rcx, 8
jae 0x140018b00
call fcn.140029838
int3
cmp rcx, 0x27
jbe 0x140018b0c
call fcn.140029838
int3
mov rcx, rax
call fcn.140019d14
mov qword [rbp + 0x48], 7
mov qword [rbp + 0x40], r14
mov word [rbp + 0x30], r14w
lea rcx, [rsp + 0x58]
call fcn.140018b90
nop
lea rcx, [rbp - 0x68]
call fcn.140018b90
nop
lea rcx, [rbp - 0x50]
call fcn.140018b90
mov rcx, qword [rbp + 0x90]
xor rcx, rsp
call fcn.140019ce0
lea r11, [rsp + 0x1a0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret