Function at 0x180019640
Capabilities:
Set registry value

Disassembly:
push rbp
push rsi
push r15
lea rbp, [rsp - 0x870]
sub rsp, 0x970
mov rax, qword [0x1800990e0]
xor rax, rsp
mov qword [rbp + 0x860], rax
mov rsi, rcx
lea rcx, [rbp + 0x61]
xor r15d, r15d
xor edx, edx
mov r8d, 0x7ff
mov byte [rbp + 0x60], r15b
call fcn.1800292e0
lea rcx, [rsp + 0x61]
xor edx, edx
mov r8d, 0xff
mov byte [rsp + 0x60], r15b
call fcn.1800292e0
lea rax, [rsp + 0x50]
lea rdx, [0x18006fa70]
mov r9d, 0xf003f
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
je 0x18001970f
lea rax, [rsp + 0x58]
lea rdx, str.SOFTWAREIntersect_AllianceAuditServiceRemote_
xor r9d, r9d
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x50]
xor r8d, r8d
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r15
mov rcx, 0xffffffff80000002
mov dword [rsp + 0x28], 0xf003f
mov dword [rsp + 0x20], r15d
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
test eax, eax
je 0x18001970f
lea eax, [r15 + 2]
jmp 0x1800199f4
mov qword [rsp + 0x998], rbx
mov qword [rsp + 0x9a0], rdi
or rdi, 0xffffffffffffffff
lea r8, [rsi + 0x10]
lea rcx, [rbp + 0x60]
mov edx, 0x800
mov r9, rdi
mov qword [rsp + 0x9a8], r14
call fcn.18002a5b4
lea rcx, [rbp + 0x60]
mov rax, rdi
inc rax
cmp byte [rcx + rax], r15b
jne 0x180019747
mov rcx, qword [rsp + 0x50]
mov dword [rsp + 0x28], eax
lea rax, [rbp + 0x60]
lea rdx, str.RestrictIP
mov r9d, 1
xor r8d, r8d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegSetValueExA]
lea r8, [rsi + 4]
test eax, eax
mov edx, r15d
mov eax, r15d
mov ebx, r15d
mov r14d, 4
cmovne ebx, r14d
cmp dword [r8], 1
setb dl
cmp dword [r8], 0xffff
seta al
or edx, eax
je 0x1800197ad
mov dword [r8], 0x1811
mov rcx, qword [rsp + 0x50]
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r8
lea rdx, [0x18006eac0]
mov r9d, r14d
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegSetValueExA]
test eax, eax
je 0x1800197d6
add ebx, 8
cmp dword [rsi], 1
jbe 0x1800197de
mov dword [rsi], r15d
mov rcx, qword [rsp + 0x50]
lea rdx, [0x18006eac8]
mov r9d, r14d
xor r8d, r8d
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], rsi
call qword [sym.imp.ADVAPI32.dll_RegSetValueExA]
test eax, eax
je 0x180019807
add ebx, 0x10
lea rax, [rsi + 0x810]
cmp dword [rax], 1
jbe 0x180019816
mov dword [rax], r15d
mov rcx, qword [rsp + 0x50]
lea rdx, [0x18006ead0]
mov r9d, r14d
xor r8d, r8d
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegSetValueExA]
test eax, eax
je 0x180019842
add ebx, 0x100
cmp dword [rsi + 0xc], 1
lea rax, [rsi + 0xc]
jbe 0x18001984f
mov dword [rax], r15d
mov rcx, qword [rsp + 0x50]
lea rdx, [0x18006eae0]
mov r9d, r14d
xor r8d, r8d
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegSetValueExA]
test eax, eax
je 0x180019878
add ebx, 0x20
cmp dword [rsi + 8], 1
lea rax, [rsi + 8]
jbe 0x180019885
mov dword [rax], r15d
mov rcx, qword [rsp + 0x50]
lea rdx, [0x18006eaf0]
mov r9d, r14d
xor r8d, r8d
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov r14, qword [rsp + 0x9a8]
test eax, eax
je 0x1800198b6
add ebx, 0x40
lea r8, [rsi + 0x814]
lea rcx, [rsp + 0x60]
mov r9, rdi
mov edx, 0x100
call fcn.18002a5b4
lea rcx, [rsp + 0x60]
mov rax, rdi
inc rax
cmp byte [rcx + rax], r15b
jne 0x1800198d7
mov rcx, qword [rsp + 0x50]
mov dword [rsp + 0x28], eax
lea rax, [rsp + 0x60]
lea rdx, [0x18006eb00]
mov r9d, 1
xor r8d, r8d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegSetValueExA]
test eax, eax
je 0x180019910
sub ebx, 0xffffff80
lea rcx, [rsi + 0x914]
mov rax, rdi
nop word [rax + rax]
inc rax
cmp byte [rcx + rax], r15b
jne 0x180019920
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
mov rcx, qword [rsp + 0x50]
lea rdx, [0x18006eb10]
mov r9d, 1
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegSetValueExA]
test eax, eax
je 0x180019957
add ebx, 0x100
lea rcx, [rsi + 0xa14]
mov rax, rdi
inc rax
cmp byte [rcx + rax], r15b
jne 0x180019961
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
mov rcx, qword [rsp + 0x50]
lea rdx, [0x18006eb28]
mov r9d, 1
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegSetValueExA]
test eax, eax
je 0x180019998
add ebx, 0x200
add rsi, 0xb14
nop
inc rdi
cmp byte [rsi + rdi], r15b
jne 0x1800199a0
mov rcx, qword [rsp + 0x50]
lea rdx, [0x18006eb40]
mov r9d, 1
xor r8d, r8d
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rsi
call qword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov rdi, qword [rsp + 0x9a0]
test eax, eax
je 0x1800199df
add ebx, 0x400
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, ebx
mov rbx, qword [rsp + 0x998]
mov rcx, qword [rbp + 0x860]
xor rcx, rsp
call fcn.1800292b0
add rsp, 0x970
pop r15
pop rsi
pop rbp
ret