Function at 0x1801e69a0
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x138
mov qword [rsp + 0xa8], 0xfffffffffffffffe
mov dword [rsp + 0x50], 0
mov r8, qword [rsp + 0x150]
lea rdx, [rsp + 0x148]
lea rcx, [rsp + 0xb0]
call fcn.1801e4160
nop
lea rcx, [rsp + 0xb0]
call fcn.180074060
lea rcx, [rsp + 0x58]
mov qword [rsp + 0x20], rcx
mov r9d, 0x20219
xor r8d, r8d
mov rdx, rax
mov rcx, qword [rsp + 0x148]
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov dword [rsp + 0x38], eax
lea rcx, [rsp + 0x88]
call fcn.180073cf0
nop
cmp dword [rsp + 0x38], 0
jne 0x1801e6c8f
mov edx, 0x20008
lea rcx, [rsp + 0x40]
call fcn.1800761a0
nop
mov dword [rsp + 0x30], 0x20000
lea rcx, [rsp + 0x40]
call fcn.1800038e0
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x4c]
xor r8d, r8d
mov rdx, qword [rsp + 0x158]
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov dword [rsp + 0x38], eax
cmp dword [rsp + 0x30], 0x20000
jbe 0x1801e6ae2
mov eax, dword [rsp + 0x30]
add eax, 8
mov eax, eax
mov edx, eax
lea rcx, [rsp + 0x40]
call fcn.1800edad0
lea rcx, [rsp + 0x40]
call fcn.1800038e0
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x4c]
xor r8d, r8d
mov rdx, qword [rsp + 0x158]
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov dword [rsp + 0x38], eax
lea rcx, [rsp + 0x40]
call fcn.1800038e0
mov ecx, dword [rsp + 0x30]
mov byte [rax + rcx], 0
cmp dword [rsp + 0x38], 0
jne 0x1801e6c79
mov eax, dword [rsp + 0x4c]
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
jbe 0x1801e6c79
cmp dword [rsp + 0x48], 3
jbe 0x1801e6b29
cmp dword [rsp + 0x48], 4
je 0x1801e6c2e
jmp 0x1801e6c79
movzx eax, byte [rsp + 0x160]
test eax, eax
je 0x1801e6b93
mov eax, dword [rsp + 0x30]
xor edx, edx
mov ecx, 2
div rcx
mov qword [rsp + 0x78], rax
lea rcx, [rsp + 0x40]
call fcn.1800038e0
mov rcx, qword [rsp + 0x78]
mov r8, rcx
mov rdx, rax
lea rcx, [rsp + 0xd0]
call fcn.180073d30
mov qword [rsp + 0x60], rax
mov rdx, qword [rsp + 0x60]
lea rcx, [rsp + 0x88]
call fcn.180073df0
lea rcx, [rsp + 0xd0]
call fcn.180073fc0
jmp 0x1801e6c2c
mov dword [rsp + 0x34], 0
mov eax, dword [rsp + 0x30]
xor edx, edx
mov ecx, 2
div rcx
mov dword [rsp + 0x30], eax
jmp 0x1801e6bb9
mov eax, dword [rsp + 0x34]
inc eax
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x30]
cmp dword [rsp + 0x34], eax
jae 0x1801e6bdd
lea rcx, [rsp + 0x40]
call fcn.1800038e0
mov ecx, dword [rsp + 0x34]
movzx eax, word [rax + rcx*2]
test eax, eax
jne 0x1801e6bdb
jmp 0x1801e6bdd
jmp 0x1801e6baf
mov eax, dword [rsp + 0x34]
mov qword [rsp + 0x70], rax
lea rcx, [rsp + 0x40]
call fcn.1800038e0
mov rcx, qword [rsp + 0x70]
mov r8, rcx
mov rdx, rax
lea rcx, [rsp + 0xf0]
call fcn.180073d30
mov qword [rsp + 0x68], rax
mov rdx, qword [rsp + 0x68]
lea rcx, [rsp + 0x88]
call fcn.180073df0
lea rcx, [rsp + 0xf0]
call fcn.180073fc0
jmp 0x1801e6c79
lea rcx, [rsp + 0x40]
call fcn.1800038e0
mov r8d, dword [rax]
lea rdx, [0x180326554]
lea rcx, [rsp + 0x110]
call fcn.1801e9260
mov qword [rsp + 0x80], rax
mov rdx, qword [rsp + 0x80]
lea rcx, [rsp + 0x88]
call fcn.180073df0
lea rcx, [rsp + 0x110]
call fcn.180073fc0
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop
lea rcx, [rsp + 0x40]
call fcn.180076200
lea rdx, [rsp + 0x88]
mov rcx, qword [rsp + 0x140]
call fcn.180073d90
mov eax, dword [rsp + 0x50]
or eax, 1
mov dword [rsp + 0x50], eax
lea rcx, [rsp + 0x88]
call fcn.180073fc0
nop
lea rcx, [rsp + 0xb0]
call fcn.180073fc0
mov rax, qword [rsp + 0x140]
add rsp, 0x138
ret