Function at 0x140012dc0
Capabilities:
Set registry value

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rbx
mov qword [r11 + 0x10], rbp
mov qword [r11 + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x70
mov r15, r8
mov r12, rdx
mov rcx, qword [0x1400cf018]
lea rax, [0x1400cf018]
mov r14d, 5
cmp rcx, rax
je 0x140012e27
test byte [rcx + 0x1c], 1
je 0x140012e27
cmp byte [rcx + 0x19], r14b
jb 0x140012e27
mov rax, qword [r8]
mov edx, 0xed
mov r9, qword [r12]
lea r8, [0x1400b0350]
mov rcx, qword [rcx + 0x10]
mov qword [r11 - 0x78], rax
call fcn.14000aa4c
xor r13d, r13d
mov dword [rsp + 0x28], 0x2011f
lea r8, str.SOFTWAREMicrosoftWindows_Media_Player_NSS3.0Media_Servers
mov qword [rsp + 0x58], r13
mov rdx, 0xffffffff80000002
mov qword [rsp + 0x60], r13
lea rcx, [rsp + 0x58]
mov qword [rsp + 0x68], r13
mov esi, r13d
mov qword [rsp + 0x40], r13
mov ebp, r13d
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x50], r13
call fcn.140016eb8
mov ebx, eax
mov r10, qword [0x1400cf018]
lea rax, [0x1400cf018]
lea edi, [r13 + 2]
cmp r10, rax
je 0x140012ebd
test byte [r10 + 0x1c], dil
je 0x140012ebd
movzx edx, byte [r10 + 0x19]
test ebx, ebx
mov eax, edi
cmove eax, r14d
cmp edx, eax
jb 0x140012ebd
mov rcx, qword [r10 + 0x10]
lea r8, [0x1400b0350]
mov edx, 0xee
mov r9d, ebx
call fcn.1400035c4
mov r10, qword [0x1400cf018]
mov r14, qword [rsp + 0x58]
test ebx, ebx
jne 0x140012fe0
mov r8, qword [r12]
lea rcx, [rsp + 0x40]
mov rdx, r14
mov dword [rsp + 0x28], 0x2011f
call fcn.140016eb8
mov ebx, eax
mov r10, qword [0x1400cf018]
lea rax, [0x1400cf018]
mov r12d, 5
cmp r10, rax
je 0x140012f34
test byte [r10 + 0x1c], dil
je 0x140012f34
movzx ecx, byte [r10 + 0x19]
test ebx, ebx
mov eax, edi
cmove eax, r12d
cmp ecx, eax
jb 0x140012f34
mov rcx, qword [r10 + 0x10]
lea r8, [0x1400b0350]
mov edx, 0xef
mov r9d, ebx
call fcn.1400035c4
mov r10, qword [0x1400cf018]
test ebx, ebx
jne 0x140012fd9
mov rcx, qword [r15]
test rcx, rcx
je 0x140013086
or rax, 0xffffffffffffffff
inc rax
cmp word [rcx + rax*2], r13w
jne 0x140012f4c
mov rbp, qword [rsp + 0x40]
lea eax, [rax*2 + 2]
mov dword [rsp + 0x28], eax
lea rdx, str.UPnPDeviceID
mov qword [rsp + 0x20], rcx
mov r9d, 1
mov rcx, rbp
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
nop dword [rax + rax]
mov ebx, eax
mov r10, qword [0x1400cf018]
lea r15, [0x1400cf018]
cmp r10, r15
je 0x140012fd3
test byte [r10 + 0x1c], dil
je 0x140012fd3
movzx eax, byte [r10 + 0x19]
test ebx, ebx
cmove edi, r12d
cmp eax, edi
jb 0x140012fd3
mov rcx, qword [r10 + 0x10]
lea r8, [0x1400b0350]
mov edx, pe_nt_image_headers64
mov r9d, ebx
call fcn.1400035c4
mov r10, qword [0x1400cf018]
test ebx, ebx
je 0x140013005
jmp 0x140012fed
mov rbp, qword [rsp + 0x40]
jmp 0x140012fe6
mov r12d, 5
lea r15, [0x1400cf018]
movzx esi, bx
mov eax, 0x80004005
or esi, 0x80070000
test ebx, ebx
cmovle esi, ebx
test esi, esi
cmovns esi, eax
cmp r10, r15
je 0x14001303d
test byte [r10 + 0x1c], 1
je 0x14001303d
movzx eax, byte [r10 + 0x19]
mov edx, esi
sar edx, 0x1f
and edx, 0xfffffffd
add edx, r12d
cmp eax, edx
jl 0x14001303d
mov rcx, qword [r10 + 0x10]
lea r8, [0x1400b0350]
mov edx, 0xf1
mov r9d, esi
call fcn.1400035c4
test rbp, rbp
je 0x140013051
mov rcx, rbp
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop dword [rax + rax]
test r14, r14
je 0x140013065
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop dword [rax + rax]
lea r11, [rsp + 0x70]
mov eax, esi
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
mov ecx, 0x80004005
call fcn.140005068
int3