Function at 0x1401b65e0
Capabilities:
Set registry value

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x60
mov r12, r8
mov rdi, rdx
mov r13, rcx
xor r15d, r15d
mov r9, qword [rcx + 0x90]
cmp dword [r9 + 4], r15d
je 0x1401b6d8f
mov rbx, qword [r9 + 0x10]
add rbx, r9
mov rcx, rbx
call fcn.1401b4fc0
test rax, rax
je 0x1401b6d8f
cmp byte [rbx + 0x18], r15b
jne 0x1401b6d8f
mov rcx, rbx
call fcn.1401b4fc0
test rax, rax
je 0x1401b6d8f
mov rcx, qword [rdi]
mov qword [rbp + 0x58], rcx
mov eax, dword [rcx]
inc eax
cmp eax, 1
jbe 0x1401b665a
lock inc dword [rcx]
lea rdx, [rbp + 0x58]
lea rcx, [rbp - 0x28]
call fcn.1401b4ca0
nop
mov edi, dword [r13 + 0x9c]
mov edx, 0x5c
mov esi, 0xffffffff
mov r9d, 1
mov r8d, esi
lea rcx, [rbp - 0x28]
call fcn.1400bb000
lea rbx, [0x140484d90]
cmp eax, esi
jne 0x1401b669c
mov qword [rbp - 0x18], rbx
jmp 0x1401b66ae
lea r8d, [rax + 1]
lea rdx, [rbp - 0x18]
lea rcx, [rbp - 0x28]
call fcn.1400bb220
nop
mov rcx, qword [r13 + 0x90]
cmp dword [rcx + 4], 0
je 0x1401b66ed
mov rbx, qword [rcx + 0x10]
add rbx, rcx
mov rcx, rbx
call fcn.1401b4fc0
test rax, rax
je 0x1401b66e6
cmp byte [rbx + 0x18], 0
jne 0x1401b66e6
mov rcx, rbx
call fcn.1401b4fc0
lea rbx, [0x140484d90]
jmp 0x1401b66f0
lea rbx, [0x140484d90]
mov rax, r15
mov r9d, edi
lea r8, [rbp - 0x18]
mov edx, 0x2001f
mov rcx, rax
call fcn.1401b48f0
mov r14, rax
mov qword [rbp - 8], rax
mov rcx, qword [rbp - 0x18]
mov edx, dword [rcx]
test edx, edx
je 0x1401b672c
cmp edx, 0xffffffff
je 0x1401b6740
mov rcx, qword [rbp - 0x18]
mov r8d, esi
lock xadd dword [rcx], r8d
cmp r8d, 1
jne 0x1401b6740
mov edx, 2
mov r8d, 8
mov rcx, qword [rbp - 0x18]
call fcn.1400affb0
test r14, r14
jne 0x1401b6757
mov edx, 1
mov rcx, r13
call fcn.1401258c0
jmp 0x1401b6d5d
mov qword [rbp - 0x30], rbx
mov rcx, r12
call fcn.1400f5760
add eax, 0xfffffffe
cmp eax, 0xa
ja case.0x1401b6782.6
cdqe
lea rdx, [0x140000000]
mov ecx, dword [rdx + rax*4 + 0x1b6db4]
add rcx, rdx
jmp rcx
lea rdx, [rbp - 0x10]
mov rcx, r12
call fcn.1400f4fa0
nop
mov rdx, rax
lea rcx, [rbp + 0x58]
call fcn.140127680
nop
mov rax, qword [rbp - 0x10]
mov ecx, dword [rax]
test ecx, ecx
je 0x1401b67bc
cmp ecx, 0xffffffff
je 0x1401b6811
mov rax, qword [rbp - 0x10]
mov ecx, esi
lock xadd dword [rax], ecx
cmp ecx, 1
jne 0x1401b6811
mov r15, qword [rbp - 0x10]
movsxd r14, dword [r15 + 8]
add r14, 2
lea r14, [r15 + r14*8]
movsxd rbx, dword [r15 + 0xc]
add rbx, 2
lea rbx, [r15 + rbx*8]
cmp rbx, r14
je 0x1401b6806
nop dword [rax]
sub rbx, 8
mov rdi, qword [rbx]
test rdi, rdi
je 0x1401b6801
mov rcx, rdi
call fcn.1400f1820
mov edx, select
mov rcx, rdi
call fcn.140229de4
cmp rbx, r14
jne 0x1401b67e0
mov rcx, r15
call fcn.1400c6df0
xor r15d, r15d
mov rcx, qword [rbp + 0x58]
movsxd rbx, dword [rcx + 8]
add rbx, 2
lea rbx, [rcx + rbx*8]
movsxd rdx, dword [rcx + 0xc]
add rdx, 2
lea rdx, [rcx + rdx*8]
cmp rbx, rdx
je 0x1401b6876
mov rax, qword [rbx]
cmp dword [rax + 4], 0
je 0x1401b69c7
mov r9d, 1
xor r8d, r8d
movzx edx, r15w
mov rcx, rbx
call fcn.1400ba9a0
cmp eax, 0xffffffff
jne 0x1401b69c7
add rbx, 8
mov rcx, qword [rbp + 0x58]
movsxd rax, dword [rcx + 0xc]
add rax, 2
lea rax, [rcx + rax*8]
cmp rbx, rax
jne 0x1401b6832
movsxd rbx, dword [rcx + 8]
add rbx, 2
lea rbx, [rcx + rbx*8]
movsxd rdx, dword [rcx + 0xc]
add rdx, 2
lea rdx, [rcx + rdx*8]
cmp rbx, rdx
je 0x1401b691d
nop word [rax + rax]
mov rax, qword [rbx]
mov ecx, dword [rax + 4]
lea edi, [rcx*2 + 2]
mov rcx, rbx
call fcn.1400c02d0
mov r8d, edi
mov rdx, rax
lea rcx, [rbp - 0x20]
call fcn.1400b0490
nop
mov rdx, rax
lea rcx, [rbp - 0x30]
call fcn.1400b0950
nop
mov rax, qword [rbp - 0x20]
mov ecx, dword [rax]
test ecx, ecx
je 0x1401b68f0
cmp ecx, 0xffffffff
je 0x1401b6904
mov rax, qword [rbp - 0x20]
mov ecx, esi
lock xadd dword [rax], ecx
cmp ecx, 1
jne 0x1401b6904
mov edx, 1
mov r8d, 8
mov rcx, qword [rbp - 0x20]
call fcn.1400affb0
add rbx, 8
mov rax, qword [rbp + 0x58]
movsxd rcx, dword [rax + 0xc]
lea rax, [rax + rcx*8]
add rax, 0x10
cmp rbx, rax
jne 0x1401b68a0
xor edx, edx
lea rcx, [rbp - 0x30]
call fcn.1400b0a30
xor edx, edx
lea rcx, [rbp - 0x30]
call fcn.1400b0a30
mov r15d, 7
mov rax, qword [rbp + 0x58]
mov ecx, dword [rax]
test ecx, ecx
je 0x1401b6957
cmp ecx, 0xffffffff
je 0x1401b69be
mov rax, qword [rbp + 0x58]
mov ecx, esi
lock xadd dword [rax], ecx
cmp ecx, 1
jne 0x1401b69be
mov r14, qword [rbp + 0x58]
movsxd rbx, dword [r14 + 0xc]
add rbx, 2
lea rbx, [r14 + rbx*8]
movsxd rdi, dword [r14 + 8]
add rdi, 2
lea rdi, [r14 + rdi*8]
cmp rdi, rbx
je 0x1401b69b5
nop dword [rax + rax]
sub rbx, 8
mov rcx, qword [rbx]
mov eax, dword [rcx]
test eax, eax
je 0x1401b699d
cmp eax, 0xffffffff
je 0x1401b69b0
mov eax, esi
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x1401b69b0
mov edx, 2
mov r8d, 8
mov rcx, qword [rbx]
call fcn.1400affb0
cmp rbx, rdi
jne 0x1401b6980
mov rcx, r14
call fcn.1400c6df0
nop
mov r14, qword [rbp - 8]
jmp 0x1401b6c2e
mov r15d, 3
mov rdx, r12
lea rcx, [rbp - 0x20]
call fcn.140127770
nop
mov rax, qword [rbp - 0x20]
mov ebx, dword [rax + 4]
add ebx, ebx
lea rcx, [rbp - 0x20]
call fcn.1400c02d0
mov r8d, ebx
mov rdx, rax
lea rcx, [rbp - 0x10]
call fcn.1400b0490
mov rdx, qword [rbp - 0x30]
mov rcx, qword [rax]
mov qword [rbp - 0x30], rcx
mov qword [rax], rdx
mov rax, qword [rbp - 0x10]
mov ecx, dword [rax]
test ecx, ecx
je 0x1401b6a27
cmp ecx, 0xffffffff
je 0x1401b6a3c
mov rax, qword [rbp - 0x10]
mov ecx, esi
lock xadd dword [rax], ecx
cmp ecx, 1
jne 0x1401b6a3c
mov edx, 1
mov r8d, 8
mov rcx, qword [rbp - 0x10]
call fcn.1400affb0
nop
mov rax, qword [rbp - 0x20]
mov ecx, dword [rax]
test ecx, ecx
je 0x1401b6a62
cmp ecx, 0xffffffff
je 0x1401b6939
mov rax, qword [rbp - 0x20]
mov ecx, esi
lock xadd dword [rax], ecx
cmp ecx, 1
jne 0x1401b6939
mov edx, 2
mov r8d, 8
mov rcx, qword [rbp - 0x20]
call fcn.1400affb0
jmp 0x1401b6939
xor edx, edx
mov rcx, r12
call fcn.1400f4ac0
mov dword [rbp + 0x40], eax
mov r8d, 4
lea rdx, [rbp + 0x40]
lea rcx, [rbp - 0x10]
call fcn.1400b0490
mov rdx, qword [rbp - 0x30]
mov rcx, qword [rax]
mov qword [rbp - 0x30], rcx
mov qword [rax], rdx
mov rax, qword [rbp - 0x10]
mov ecx, dword [rax]
test ecx, ecx
je 0x1401b6ac7
cmp ecx, 0xffffffff
je 0x1401b6adb
mov rax, qword [rbp - 0x10]
mov ecx, esi
lock xadd dword [rax], ecx
cmp ecx, 1
jne 0x1401b6adb
mov edx, 1
mov r8d, 8
mov rcx, qword [rbp - 0x10]
call fcn.1400affb0
mov r15d, 4
jmp 0x1401b6c2e
xor edx, edx
mov r15d, listen
mov rcx, r12
call fcn.1400f4fd0
mov qword [rbp - 8], rax
mov r8d, 8
lea rdx, [rbp - 8]
lea rcx, [rbp + 0x58]
call fcn.1400b0490
mov rdx, qword [rbp - 0x30]
mov rcx, qword [rax]
mov qword [rbp - 0x30], rcx
mov qword [rax], rdx
mov rax, qword [rbp + 0x58]
mov ecx, dword [rax]
test ecx, ecx
je 0x1401b6b41
cmp ecx, 0xffffffff
je 0x1401b6c2e
mov rax, qword [rbp + 0x58]
mov ecx, esi
lock xadd dword [rax], ecx
cmp ecx, 1
jne 0x1401b6c2e
mov edx, 1
mov r8d, 8
mov rcx, qword [rbp + 0x58]
call fcn.1400affb0
jmp 0x1401b6c2e
mov rdx, r12
lea rcx, [rbp - 0x20]
call fcn.140127770
nop
mov r9d, 1
xor r8d, r8d
movzx edx, r15w
lea rcx, [rbp - 0x20]
call fcn.1400ba9a0
mov ecx, 1
mov edx, 3
cmp eax, 0xffffffff
cmovne ecx, edx
mov dword [rbp + 0x40], ecx
mov rcx, qword [rbp - 0x20]
mov edx, dword [rcx + 4]
lea ebx, [rdx + 1]
cmovne ebx, edx
add ebx, ebx
lea rcx, [rbp - 0x20]
call fcn.1400c02d0
mov rdx, rax
mov r8d, ebx
lea rcx, [rbp - 0x10]
call fcn.1400b0490
mov rdx, qword [rbp - 0x30]
mov rcx, qword [rax]
mov qword [rbp - 0x30], rcx
mov qword [rax], rdx
mov rax, qword [rbp - 0x10]
mov ecx, dword [rax]
test ecx, ecx
je 0x1401b6be3
cmp ecx, 0xffffffff
je 0x1401b6bf8
mov rax, qword [rbp - 0x10]
mov ecx, esi
lock xadd dword [rax], ecx
cmp ecx, 1
jne 0x1401b6bf8
mov edx, 1
mov r8d, 8
mov rcx, qword [rbp - 0x10]
call fcn.1400affb0
nop
mov rax, qword [rbp - 0x20]
mov ecx, dword [rax]
test ecx, ecx
je 0x1401b6c16
cmp ecx, 0xffffffff
je 0x1401b6c2a
mov rax, qword [rbp - 0x20]
mov ecx, esi
lock xadd dword [rax], ecx
cmp ecx, 1
jne 0x1401b6c2a
mov edx, 2
mov r8d, 8
mov rcx, qword [rbp - 0x20]
call fcn.1400affb0
mov r15d, dword [rbp + 0x40]
mov rax, qword [rbp - 0x30]
mov edi, dword [rax + 4]
mov rbx, qword [rax + 0x10]
add rbx, rax
lea rdx, [rbp - 0x28]
lea rcx, [rbp + 0x58]
call fcn.1401b5120
nop
mov rcx, rax
call fcn.1400c02d0
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rbx
mov r9d, r15d
xor r8d, r8d
mov rdx, rax
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov ebx, eax
mov rcx, qword [rbp + 0x58]
mov eax, dword [rcx]
test eax, eax
je 0x1401b6c8d
cmp eax, 0xffffffff
je 0x1401b6ca1
mov rcx, qword [rbp + 0x58]
mov edx, esi
lock xadd dword [rcx], edx
cmp edx, 1
jne 0x1401b6ca1
mov edx, 2
mov r8d, 8
mov rcx, qword [rbp + 0x58]
call fcn.1400affb0
test ebx, ebx
jne 0x1401b6cae
mov byte [r13 + 0x98], bl
jmp 0x1401b6d20
mov rax, qword [rbp - 0x28]
mov qword [rbp + 0x58], rax
mov ecx, dword [rax]
inc ecx
cmp ecx, 1
jbe 0x1401b6cc6
mov rax, qword [rbp - 0x28]
lock inc dword [rax]
lea rcx, [rbp + 0x58]
call fcn.1400c02d0
mov r8, rax
lea rdx, str.QSettings:_failed_to_set_subkey___ls_
mov ecx, ebx
call fcn.1400ad750
nop
mov rax, qword [rbp + 0x58]
mov ecx, dword [rax]
test ecx, ecx
je 0x1401b6cff
cmp ecx, 0xffffffff
je 0x1401b6d13
mov rax, qword [rbp + 0x58]
mov ecx, esi
lock xadd dword [rax], ecx
cmp ecx, 1
jne 0x1401b6d13
mov edx, 2
mov r8d, 8
mov rcx, qword [rbp + 0x58]
call fcn.1400affb0
mov edx, 1
mov rcx, r13
call fcn.1401258c0
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop
mov rax, qword [rbp - 0x30]
mov ecx, dword [rax]
test ecx, ecx
je 0x1401b6d48
cmp ecx, 0xffffffff
je 0x1401b6d5d
mov rax, qword [rbp - 0x30]
mov ecx, esi
lock xadd dword [rax], ecx
cmp ecx, 1
jne 0x1401b6d5d
mov edx, 1
mov r8d, 8
mov rcx, qword [rbp - 0x30]
call fcn.1400affb0
nop
mov rax, qword [rbp - 0x28]
mov ecx, dword [rax]
test ecx, ecx
je 0x1401b6d79
cmp ecx, 0xffffffff
je 0x1401b6d9c
mov rax, qword [rbp - 0x28]
lock xadd dword [rax], esi
cmp esi, 1
jne 0x1401b6d9c
mov edx, 2
mov r8d, 8
mov rcx, qword [rbp - 0x28]
call fcn.1400affb0
jmp 0x1401b6d9c
mov edx, 1
mov rcx, r13
call fcn.1401258c0
mov rbx, qword [rsp + 0xa8]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret