Function at 0x1800786e0
Capabilities:
Query or enumerate registry value

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x4b8
mov qword [rsp + 0x90], 0xfffffffffffffffe
mov rax, qword [0x18013e1e0]
xor rax, rsp
mov qword [rsp + 0x4a0], rax
mov r14, r9
mov r12, r8
mov rsi, rdx
mov rdi, rcx
xor ebx, ebx
mov qword [rsp + 0x40], rbx
mov dword [rsp + 0x38], ebx
mov dword [rsp + 0x3c], ebx
mov word [rsp + 0xa0], bx
xor edx, edx
mov r8d, 0x3fe
lea rcx, [rsp + 0xa2]
call fcn.1800c31a0
mov rcx, r14
call fcn.180066660
cmp qword [rsi + 0x18], rbx
je 0x1800789cf
cmp qword [r12 + 0x18], rbx
je 0x1800789cf
cmp qword [rdi + 0x30], rbx
jne 0x180078771
xor al, al
jmp 0x1800789d1
cmp qword [rdi + 0x38], 8
jb 0x18007877e
mov r8, qword [rdi + 0x20]
jmp 0x180078782
lea r8, [rdi + 0x20]
mov edx, 0x200
lea rcx, [rsp + 0xa0]
call fcn.1800c0e4c
cmp qword [rsi + 0x20], 8
jb 0x1800787a1
mov r8, qword [rsi + 8]
jmp 0x1800787a5
lea r8, [rsi + 8]
mov edx, 0x200
lea rcx, [rsp + 0xa0]
call fcn.1800c29a4
lea rdx, [rsp + 0x40]
mov qword [rsp + 0x20], rdx
mov r9d, 0x20019
xor r8d, r8d
lea rdx, [rsp + 0xa0]
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov dword [rsp + 0x34], eax
test eax, eax
je 0x180078800
mov dword [rsp + 0x48], 0xffffffff
lea rdx, [0x18013ad60]
lea rcx, [rsp + 0x48]
call fcn.1800c3e40
cmp qword [r12 + 0x20], 8
jb 0x180078812
lea rdi, [r12 + 8]
mov rdx, qword [rdi]
jmp 0x18007881a
lea rdi, [r12 + 8]
mov rdx, rdi
lea rax, [rsp + 0x38]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
lea r9, [rsp + 0x3c]
xor r8d, r8d
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x1800789a9
cmp dword [rsp + 0x3c], 1
jne 0x1800789a9
cmp dword [rsp + 0x38], eax
jbe 0x1800789a9
lea ecx, [rax + 8]
call fcn.1800c0db0
test rax, rax
je 0x180078874
lea rcx, [rsp + 0x50]
mov qword [rax], rcx
jmp 0x180078877
mov rax, rbx
mov qword [rsp + 0x50], rax
mov rsi, rbx
mov qword [rsp + 0x68], rbx
mov rcx, rbx
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x78], rbx
mov r13d, dword [rsp + 0x38]
mov byte [rsp + 0x30], 0
test rax, rax
jne 0x1800788af
call fcn.1800c1088
mov rcx, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x68]
cmp rsi, rcx
jbe 0x1800788b9
call fcn.1800c1088
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], rsi
movaps xmm0, xmmword [rsp + 0x80]
movdqa xmmword [rsp + 0x80], xmm0
lea r9, [rsp + 0x30]
mov r8, r13
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0x50]
call fcn.18006a840
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x68]
cmp rax, rcx
jne 0x180078912
call fcn.1800c1088
mov rcx, qword [rsp + 0x68]
cmp qword [r12 + 0x20], 8
jb 0x18007891d
mov rdi, qword [rdi]
lea rax, [rsp + 0x38]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
xor r9d, r9d
xor r8d, r8d
mov rdx, rdi
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov esi, eax
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x18007897f
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x68]
cmp rcx, rdx
jne 0x180078963
call fcn.1800c1088
mov rdx, qword [rsp + 0x68]
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.180014810
nop
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x18007898e
call fcn.1800bf8b4
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x78], rbx
mov rcx, qword [rsp + 0x50]
call fcn.1800bf8b4
jmp 0x1800789b2
mov esi, 2
mov dword [rsp + 0x34], esi
jmp 0x1800789b8
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x1800789c8
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test esi, esi
sete al
jmp 0x1800789d1
xor al, al
mov rcx, qword [rsp + 0x4a0]
xor rcx, rsp
call fcn.1800bf8d0
add rsp, 0x4b8
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret