Function at 0x140016e20
Capabilities:
Set registry value

Disassembly:
mov rax, rsp
push rdi
push r14
push r15
sub rsp, 0x180
mov qword [rax - 0x80], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
mov rax, qword [0x140078790]
xor rax, rsp
mov qword [rsp + 0x170], rax
mov r14d, r9d
mov rdi, rdx
mov rsi, qword [rsp + 0x1c0]
mov r15d, dword [rsp + 0x1c8]
xor ebx, ebx
lea rdx, str.SOFTWAREDigitalPersonaDPHOSTNameTranslator
lea rcx, [rsp + 0x40]
call fcn.140014804
nop
mov rdx, rdi
lea rcx, [rsp + 0x90]
call fcn.140014804
nop
lea rdx, [0x140054958]
lea rcx, [rsp + 0x88]
call fcn.140014804
nop
lea r8, [rsp + 0x88]
lea rdx, [rsp + 0xb8]
lea rcx, [rsp + 0x40]
call fcn.1400162e0
nop
lea r8, [rsp + 0x90]
lea rdx, [rsp + 0xb0]
mov rcx, rax
call fcn.1400162e0
mov rdi, rax
mov qword [rsp + 0x120], rax
lea rax, [rsp + 0x40]
cmp rax, rdi
je 0x140016f04
lea rcx, [rsp + 0x40]
call fcn.14002107c
mov rax, qword [rdi]
mov qword [rsp + 0x40], rax
test rax, rax
je 0x140016f04
lock inc dword [rax + 0x10]
lea rcx, [rsp + 0xb0]
call fcn.14002107c
nop
lea rcx, [rsp + 0xb8]
call fcn.14002107c
nop
lea rcx, [rsp + 0x88]
call fcn.14002107c
nop
lea rcx, [rsp + 0x90]
call fcn.14002107c
mov qword [rsp + 0x98], rbx
mov dword [rsp + 0xa0], ebx
mov qword [rsp + 0xa8], rbx
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x140016f61
mov r8, qword [rax]
jmp 0x140016f64
mov r8, rbx
mov edi, 0x2001f
mov r9d, edi
mov rdx, 0xffffffff80000002
lea rcx, [rsp + 0x98]
call fcn.14000bad4
test eax, eax
je 0x140016feb
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x140016f93
mov r8, qword [rax]
jmp 0x140016f96
mov r8, rbx
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], ebx
xor r9d, r9d
mov rdx, 0xffffffff80000002
lea rcx, [rsp + 0x98]
call fcn.1400081d0
test eax, 0x1fff0000
je 0x140016fd4
cmp eax, 0x80000000
jb 0x140016feb
mov ecx, eax
call fcn.140032390
test eax, eax
je 0x140016feb
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
cmovle ecx, eax
call fcn.140032390
xor edx, edx
lea r8d, [rdx + 0x40]
lea rcx, [rsp + 0x130]
call fcn.140034b00
mov r9d, r14d
lea r8, [0x1400549a0]
mov edx, 0x20
lea rcx, [rsp + 0x130]
call fcn.140022704
mov dword [rsp + 0x58], ebx
mov qword [rsp + 0x60], rbx
mov dword [rsp + 0x68], ebx
mov dword [rsp + 0xc8], ebx
xor eax, eax
mov qword [rsp + 0xd0], rax
mov edi, ebx
mov dword [rsp + 0x48], ebx
cmp edi, 3
jae 0x14001705d
lea rdx, [rsp + 0xc8]
lea rcx, [rsp + 0x58]
call fcn.140016448
inc edi
mov dword [rsp + 0x48], edi
jmp 0x14001703e
cmp dword [rsp + 0x58], ebx
jbe 0x140017073
mov rax, qword [rsp + 0x60]
test rax, rax
je 0x140017073
add rax, 0xfffffffffffffff8
jmp 0x140017076
mov rax, rbx
test rax, rax
lea rdi, [rax + 8]
jne 0x140017082
mov rdi, rbx
mov edx, r15d
lea rcx, [rsp + 0xd8]
call fcn.140013db8
nop
mov r8, qword [rax + 0x18]
mov rdx, rdi
mov rcx, rax
call fcn.14001a3d0
nop
lea rax, vtable.CDPULongBlob.0
mov qword [rsp + 0xd8], rax
lea r14, vtable.CCryptBlob_struct__CRYPTOAPI_BLOB__class__heap_allocator_.0
mov qword [rsp + 0xd8], r14
mov rcx, qword [rsp + 0xe8]
test rcx, rcx
je 0x1400170d3
call fcn.140009660
mov qword [rsp + 0xe8], rbx
mov dword [rsp + 0xe0], ebx
mov qword [rsp + 0x4c], rbx
lea rcx, [rsp + 0x4c]
call qword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
mov rax, qword [rsp + 0x4c]
mov qword [rsp + 0xc0], rax
cmp dword [rsp + 0x58], 1
jbe 0x14001711a
mov rcx, qword [rsp + 0x60]
lea rax, [rcx + 0x10]
test rax, rax
je 0x14001711a
add rcx, 8
jmp 0x14001711d
mov rcx, rbx
lea rax, [rcx + 8]
neg rcx
sbb rdx, rdx
and rdx, rax
lea rcx, [rsp + 0xc0]
call fcn.14001a7ac
test rsi, rsi
je 0x1400171c4
cmp word [rsi], bx
je 0x1400171c4
cmp dword [rsp + 0x58], 2
jbe 0x140017160
mov rdi, qword [rsp + 0x60]
lea rax, [rdi + 0x20]
test rax, rax
je 0x140017160
add rdi, 0x18
jmp 0x140017163
mov rdi, rbx
mov rdx, rsi
lea rcx, [rsp + 0xf8]
call fcn.140013e4c
mov rcx, rax
lea rax, [rdi + 8]
neg rdi
sbb rdx, rdx
and rdx, rax
xor r8d, r8d
call fcn.14001a898
nop
lea rax, vtable.CDPWStrBlob.0
mov qword [rsp + 0xf8], rax
mov qword [rsp + 0xf8], r14
mov rcx, qword [rsp + 0x108]
test rcx, rcx
je 0x1400171b5
call fcn.140009660
mov qword [rsp + 0x108], rbx
mov dword [rsp + 0x100], ebx
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x80], rbx
mov qword [rsp + 0x80], rbx
mov dword [rsp + 0x78], ebx
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x58]
call fcn.14001a508
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x20], rax
mov r9d, 3
xor r8d, r8d
lea rdx, [rsp + 0x130]
mov rdi, qword [rsp + 0x98]
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, 0x1fff0000
je 0x140017238
cmp eax, 0x80000000
jb 0x140017250
mov ecx, eax
call fcn.140032390
test eax, eax
je 0x140017250
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
cmovle ecx, eax
call fcn.140032390
nop
mov qword [rsp + 0x70], r14
mov rcx, qword [rsp + 0x80]
test rcx, rcx
je 0x140017267
call fcn.140009660
mov qword [rsp + 0x80], rbx
mov dword [rsp + 0x78], ebx
lea rcx, [rsp + 0x58]
call fcn.1400174d8
nop
test rdi, rdi
je 0x140017294
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov qword [rsp + 0x98], rbx
mov dword [rsp + 0xa0], ebx
lea rcx, [rsp + 0x40]
call fcn.14002107c
nop
jmp 0x1400172ac
mov eax, ebx
mov rcx, qword [rsp + 0x170]
xor rcx, rsp
call fcn.140033cb0
lea r11, [rsp + 0x180]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop rdi
ret