Function at 0x14000c970
Capabilities:
Delete registry value
Query or enumerate registry value
Set registry value

Disassembly:
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xb0
mov qword [rbp + 7], 0xfffffffffffffffe
mov qword [rsp + 0xf0], rbx
mov rax, qword [0x1402d9850]
xor rax, rsp
mov qword [rbp + 0x2f], rax
mov rsi, rcx
mov dword [rbp - 0x21], edx
lea rax, [rcx + 0x138]
xor r15d, r15d
test rax, rax
jne 0x14000c9bc
mov edi, r15d
jmp 0x14000c9d1
mov rax, qword [rcx + 0x140]
movsxd rcx, dword [rax + 4]
lea rdi, [rsi + 0x140]
add rdi, rcx
mov qword [rbp - 0x11], r15
mov qword [rbp - 9], rdi
xor r14b, r14b
mov byte [rbp - 1], r14b
test rdi, rdi
je 0x14000c9f4
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax]
mov r14b, 1
mov byte [rbp - 1], r14b
mov qword [rbp + 0x27], 7
mov qword [rbp + 0x1f], r15
mov word [rbp + 0xf], r15w
mov r8d, 0x1a
lea rdx, str.SoftwareMicrosoftWindows
lea rcx, [rbp + 0xf]
call fcn.140007090
nop
mov r8d, 0x21
lea rdx, str.CurrentVersionInternet_Settings
lea rcx, [rbp + 0xf]
call fcn.140009880
cmp dword [rbp - 0x21], 0
je 0x14000cb5a
mov r9d, 4
lea r8, [rbp - 0x21]
lea edx, [r9 + 0x45]
xor ecx, ecx
call qword [sym.imp.WININET.dll_InternetSetOptionW]
mov dword [rbp - 0x19], r15d
mov dword [rbp - 0x15], 4
mov qword [rbp - 0x29], r15
lea rdx, [rbp + 0xf]
cmp qword [rbp + 0x27], 8
cmovae rdx, qword [rbp + 0xf]
lea rax, [rbp - 0x19]
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0x29]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], 0xf003f
mov dword [rsp + 0x20], r15d
xor r9d, r9d
xor r8d, r8d
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x14000cc25
lea rbx, [rsi + 0x130]
lea rax, [rbp - 0x15]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
xor r9d, r9d
xor r8d, r8d
lea rdx, str.MaxConnectionsPerServer
mov rcx, qword [rbp - 0x29]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
lea rax, [rbp - 0x15]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
xor r9d, r9d
xor r8d, r8d
lea rdx, str.MaxConnectionsPer1_0Server
mov rcx, qword [rbp - 0x29]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov dword [rsp + 0x28], 4
lea rax, [rbp - 0x21]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
lea rdx, str.MaxConnectionsPerServer
mov rcx, qword [rbp - 0x29]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov dword [rsp + 0x28], 4
lea rax, [rbp - 0x21]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
lea rdx, str.MaxConnectionsPer1_0Server
mov rcx, qword [rbp - 0x29]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
jmp 0x14000cc1b
mov dword [rbp - 0x19], r15d
mov qword [rbp - 0x29], r15
lea rdx, [rbp + 0xf]
cmp qword [rbp + 0x27], 8
cmovae rdx, qword [rbp + 0xf]
lea rax, [rbp - 0x19]
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0x29]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], 0xf003f
mov dword [rsp + 0x20], r15d
xor r9d, r9d
xor r8d, r8d
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x14000cc25
lea rbx, [rsi + 0x130]
lea rdx, str.MaxConnectionsPerServer
mov rcx, qword [rbp - 0x29]
cmp dword [rbx], eax
je 0x14000cc04
mov dword [rsp + 0x28], 4
mov qword [rsp + 0x20], rbx
lea r9d, [rax + 4]
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov dword [rsp + 0x28], 4
mov qword [rsp + 0x20], rbx
mov r9d, 4
xor r8d, r8d
lea rdx, str.MaxConnectionsPer1_0Server
mov rcx, qword [rbp - 0x29]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
jmp 0x14000cc1b
call qword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
lea rdx, str.MaxConnectionsPer1_0Server
mov rcx, qword [rbp - 0x29]
call qword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
mov rcx, qword [rbp - 0x29]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [rbp - 0x21]
mov dword [rsi + 0x12c], eax
mov r8, qword [rbp + 0x27]
cmp r8, 8
jb 0x14000cc48
inc r8
mov rdx, qword [rbp + 0xf]
lea rcx, [rbp + 0xf]
call fcn.140007540
mov qword [rbp + 0x27], 7
mov qword [rbp + 0x1f], r15
mov word [rbp + 0xf], r15w
test rdi, rdi
je 0x14000cc6d
test r14b, r14b
je 0x14000cc6d
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rbp + 0x2f]
xor rcx, rsp
call fcn.14012a1e0
mov rbx, qword [rsp + 0xf0]
add rsp, 0xb0
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret