Function at 0x180076400
Capabilities:
Query or enumerate registry value
Set registry value

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x4e0
mov qword [rsp + 0xc0], 0xfffffffffffffffe
mov rax, qword [0x18013a210]
xor rax, rsp
mov qword [rsp + 0x4d0], rax
mov r13, r9
mov rsi, r8
mov r12, rdx
mov rdi, rcx
mov r14, qword [rsp + 0x540]
xor ebx, ebx
mov qword [rsp + 0x68], rbx
mov ecx, 0x507
mov dword [rsp + 0x54], ecx
mov dword [rsp + 0x60], ebx
mov word [rsp + 0xd0], bx
xor edx, edx
mov r8d, 0x3fe
lea rcx, [rsp + 0xd2]
call fcn.1800c1250
cmp qword [r12 + 0x18], rbx
je 0x18007679b
cmp qword [rsi + 0x18], rbx
je 0x18007679b
cmp qword [rdi + 0x30], rbx
jne 0x180076498
xor al, al
jmp 0x18007679d
test r14, r14
je 0x1800764a5
mov rcx, r14
call fcn.1800649e0
cmp qword [rdi + 0x38], 8
jb 0x1800764b2
mov r8, qword [rdi + 0x20]
jmp 0x1800764b6
lea r8, [rdi + 0x20]
mov edx, 0x200
lea rcx, [rsp + 0xd0]
call fcn.1800beefc
cmp qword [r12 + 0x20], 8
jb 0x1800764d7
mov r8, qword [r12 + 8]
jmp 0x1800764dc
lea r8, [r12 + 8]
mov edx, 0x200
lea rcx, [rsp + 0xd0]
call fcn.1800c0a54
lea rdx, [rsp + 0x60]
mov qword [rsp + 0x40], rdx
lea rax, [rsp + 0x68]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], 0xf003f
mov dword [rsp + 0x20], ebx
xor r9d, r9d
xor r8d, r8d
lea rdx, [rsp + 0xd0]
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
mov dword [rsp + 0x54], eax
test eax, eax
je 0x18007654f
mov dword [rsp + 0x70], 0xffffffff
lea rdx, [0x180136c18]
lea rcx, [rsp + 0x70]
call fcn.1800c1ef0
test r14, r14
je 0x180076731
cmp dword [rsp + 0x60], 2
jne 0x180076731
mov dword [rsp + 0x58], ebx
mov dword [rsp + 0x5c], ebx
cmp qword [rsi + 0x20], 8
jb 0x18007657b
lea rdi, [rsi + 8]
mov rdx, qword [rdi]
jmp 0x180076582
lea rdi, [rsi + 8]
mov rdx, rdi
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
lea r9, [rsp + 0x5c]
xor r8d, r8d
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x180076731
cmp dword [rsp + 0x5c], 1
jne 0x180076731
cmp dword [rsp + 0x58], eax
jbe 0x180076731
lea ecx, [rax + 8]
call fcn.1800bee60
test rax, rax
je 0x1800765d8
lea rcx, [rsp + 0x78]
mov qword [rax], rcx
jmp 0x1800765db
mov rax, rbx
mov qword [rsp + 0x78], rax
mov r12, rbx
mov qword [rsp + 0x90], rbx
mov rcx, rbx
mov qword [rsp + 0x98], rbx
mov qword [rsp + 0xa0], rbx
mov r15d, dword [rsp + 0x58]
mov byte [rsp + 0x50], 0
test rax, rax
jne 0x180076622
call fcn.1800bf138
mov rcx, qword [rsp + 0x98]
mov r12, qword [rsp + 0x90]
cmp r12, rcx
jbe 0x18007662c
call fcn.1800bf138
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xb8], r12
movaps xmm0, xmmword [rsp + 0xb0]
movdqa xmmword [rsp + 0xb0], xmm0
lea r9, [rsp + 0x50]
mov r8, r15
lea rdx, [rsp + 0xb0]
lea rcx, [rsp + 0x78]
call fcn.18006eae0
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x90]
cmp rax, rcx
jne 0x18007668e
call fcn.1800bf138
mov rcx, qword [rsp + 0x90]
cmp qword [rsi + 0x20], 8
jb 0x180076698
mov rdi, qword [rdi]
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
xor r9d, r9d
xor r8d, r8d
mov rdx, rdi
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x1800766fd
mov rax, qword [rsp + 0x98]
mov rdx, qword [rsp + 0x90]
cmp rax, rdx
jne 0x1800766e1
call fcn.1800bf138
mov rdx, qword [rsp + 0x90]
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
mov rcx, r14
call fcn.180012d90
nop
mov rcx, qword [rsp + 0x90]
test rcx, rcx
je 0x18007670f
call fcn.1800bd964
mov qword [rsp + 0x90], rbx
mov qword [rsp + 0x98], rbx
mov qword [rsp + 0xa0], rbx
mov rcx, qword [rsp + 0x78]
call fcn.1800bd964
mov rax, qword [r13 + 0x18]
cmp qword [r13 + 0x20], 8
jb 0x180076742
mov rcx, qword [r13 + 8]
jmp 0x180076746
lea rcx, [r13 + 8]
cmp qword [rsi + 0x20], 8
jb 0x180076753
mov rdx, qword [rsi + 8]
jmp 0x180076757
lea rdx, [rsi + 8]
lea eax, [rax + rax + 2]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
mov r9d, 1
xor r8d, r8d
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov edi, eax
mov dword [rsp + 0x54], eax
jmp 0x180076784
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x180076794
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test edi, edi
sete al
jmp 0x18007679d
xor al, al
mov rcx, qword [rsp + 0x4d0]
xor rcx, rsp
call fcn.1800bd980
add rsp, 0x4e0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret