Function at 0x140012afc
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 [0x1400f3190]
lea rax, [0x1400f3190]
mov r14d, 5
cmp rcx, rax
je 0x140012b63
test byte [rcx + 0x1c], 1
je 0x140012b63
cmp byte [rcx + 0x19], r14b
jb 0x140012b63
mov rax, qword [r8]
mov edx, pe_nt_image_headers64
mov r9, qword [r12]
lea r8, [0x1400ceae0]
mov rcx, qword [rcx + 0x10]
mov qword [r11 - 0x78], rax
call fcn.14000a758
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.140016a64
mov ebx, eax
mov r10, qword [0x1400f3190]
lea rax, [0x1400f3190]
lea edi, [r13 + 2]
cmp r10, rax
je 0x140012bf9
test byte [r10 + 0x1c], dil
je 0x140012bf9
movzx edx, byte [r10 + 0x19]
test ebx, ebx
mov eax, edi
cmove eax, r14d
cmp edx, eax
jb 0x140012bf9
mov rcx, qword [r10 + 0x10]
lea r8, [0x1400ceae0]
mov edx, 0xf1
mov r9d, ebx
call fcn.1400036a8
mov r10, qword [0x1400f3190]
mov r14, qword [rsp + 0x58]
test ebx, ebx
jne 0x140012d16
mov r8, qword [r12]
lea rcx, [rsp + 0x40]
mov rdx, r14
mov dword [rsp + 0x28], 0x2011f
call fcn.140016a64
mov ebx, eax
mov r10, qword [0x1400f3190]
lea rax, [0x1400f3190]
mov r12d, 5
cmp r10, rax
je 0x140012c70
test byte [r10 + 0x1c], dil
je 0x140012c70
movzx ecx, byte [r10 + 0x19]
test ebx, ebx
mov eax, edi
cmove eax, r12d
cmp ecx, eax
jb 0x140012c70
mov rcx, qword [r10 + 0x10]
lea r8, [0x1400ceae0]
mov edx, 0xf2
mov r9d, ebx
call fcn.1400036a8
mov r10, qword [0x1400f3190]
test ebx, ebx
jne 0x140012d0f
mov rcx, qword [r15]
test rcx, rcx
je 0x140012daf
or rax, 0xffffffffffffffff
inc rax
cmp word [rcx + rax*2], r13w
jne 0x140012c88
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]
mov ebx, eax
mov r10, qword [0x1400f3190]
lea r15, [0x1400f3190]
cmp r10, r15
je 0x140012d09
test byte [r10 + 0x1c], dil
je 0x140012d09
movzx eax, byte [r10 + 0x19]
test ebx, ebx
cmove edi, r12d
cmp eax, edi
jb 0x140012d09
mov rcx, qword [r10 + 0x10]
lea r8, [0x1400ceae0]
mov edx, 0xf3
mov r9d, ebx
call fcn.1400036a8
mov r10, qword [0x1400f3190]
test ebx, ebx
je 0x140012d3b
jmp 0x140012d23
mov rbp, qword [rsp + 0x40]
jmp 0x140012d1c
mov r12d, 5
lea r15, [0x1400f3190]
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 0x140012d73
test byte [r10 + 0x1c], 1
je 0x140012d73
movzx eax, byte [r10 + 0x19]
mov edx, esi
sar edx, 0x1f
and edx, 0xfffffffd
add edx, r12d
cmp eax, edx
jl 0x140012d73
mov rcx, qword [r10 + 0x10]
lea r8, [0x1400ceae0]
mov edx, 0xf4
mov r9d, esi
call fcn.1400036a8
test rbp, rbp
je 0x140012d81
mov rcx, rbp
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test r14, r14
je 0x140012d8f
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
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.1400051a4
int3