Function at 0x1000623d4
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r12
sub rsp, 0x290
mov rax, qword [0x100086110]
xor rax, rsp
mov qword [rsp + 0x280], rax
xor r12d, r12d
mov rbx, rcx
cmp qword [rcx + 0x38], r12
je 0x1000626af
cmp qword [rcx + 0x30], r12
je 0x1000626af
cmp edx, r12d
je 0x10006242d
mov rcx, qword [rcx + 0x58]
cmp rcx, r12
je 0x100062429
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov qword [rbx + 0x58], r12
lea rsi, [rbx + 0x58]
cmp qword [rsi], r12
jne 0x1000626aa
mov qword [rsp + 0x40], r12
lea rax, [rsp + 0x58]
mov edi, 0x2001f
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r12
lea rdx, [0x100024a90]
xor r9d, r9d
xor r8d, r8d
mov rcx, 0xffffffff80000000
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x58], r12
mov ebp, r12d
mov dword [rsp + 0x20], r12d
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
cmp eax, r12d
jne 0x10006269a
mov rcx, rbx
mov qword [rsp + 0x60], r12
call fcn.100062190
mov qword [rsp + 0x40], r12
lea rcx, [0x100024ae8]
cmp eax, r12d
lea rax, [rsp + 0x60]
lea rdx, [0x100024b00]
cmovne rdx, rcx
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r12
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], r12d
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
cmp eax, r12d
jne 0x10006268a
mov rax, qword [rbx + 0x30]
mov r9, qword [rbx + 0x38]
lea r8, [0x10002c910]
lea rcx, [rsp + 0x80]
mov edx, 0xff
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x50], r12d
call fcn.10003a080
mov rcx, qword [rsp + 0x60]
lea rdx, [rsp + 0x50]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], r12
lea rdx, [rsp + 0x80]
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], r12d
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
cmp eax, r12d
jne 0x10006267f
cmp dword [rsp + 0x50], 2
mov ebp, 1
jne 0x10006260c
mov dword [rsp + 0x54], ebp
mov dword [rsp + 0x50], 0x200
cmp qword [rbx + 0x28], r12
je 0x10006260f
mov rcx, qword [rsi]
lea rax, [rsp + 0x50]
lea r9, [rsp + 0x54]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x80]
lea rdx, [0x100025bc0]
xor r8d, r8d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
cmp eax, r12d
jne 0x10006260f
cmp dword [rsp + 0x54], ebp
jne 0x10006260f
xorpd xmm0, xmm0
lea r8, [rsp + 0x68]
lea rdx, [0x100029c80]
lea rcx, [rsp + 0x80]
movsd qword [rsp + 0x70], xmm0
movsd qword [rsp + 0x68], xmm0
call qword [sym.imp.msvcrt.dll_swscanf]
cmp eax, r12d
je 0x10006260f
mov rcx, qword [rbx + 0x28]
lea r8, [rsp + 0x70]
lea rdx, [0x100029c80]
call qword [sym.imp.msvcrt.dll_swscanf]
cmp eax, r12d
je 0x10006260f
movsd xmm0, qword [rsp + 0x68]
mov eax, ebp
comisd xmm0, xmmword [rsp + 0x70]
jbe 0x100062607
mov eax, r12d
mov dword [rbx + 0x14], eax
jmp 0x10006260f
mov dword [rbx + 0x14], ebp
mov r9, qword [rbx + 0x28]
cmp r9, r12
je 0x100062649
mov rdx, qword [rsi]
cmp rdx, r12
je 0x100062649
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, r9
repne scasw ax, word [rdi]
lea r8, [0x100025bc0]
not rcx
sub rcx, rbp
lea eax, [rcx + rcx + 2]
mov ecx, dword [rbx + 0x14]
mov dword [rsp + 0x20], eax
call fcn.100057834
mov r9, qword [rbx + 0x18]
cmp r9, r12
je 0x10006267f
mov rdx, qword [rsi]
cmp rdx, r12
je 0x10006267f
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, r9
repne scasw ax, word [rdi]
xor r8d, r8d
not rcx
sub rcx, rbp
lea eax, [rcx + rcx + 2]
mov ecx, dword [rbx + 0x14]
mov dword [rsp + 0x20], eax
call fcn.100057834
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp ebp, r12d
jne 0x1000626aa
mov rcx, qword [rsi]
cmp rcx, r12
je 0x1000626aa
call fcn.10007faae
mov qword [rsi], r12
mov rax, qword [rsi]
jmp 0x1000626bc
mov ecx, 0x8000ffff
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
mov rcx, qword [rsp + 0x280]
xor rcx, rsp
call fcn.10007fa70
lea r11, [rsp + 0x290]
mov rbx, qword [r11 + 0x28]
mov rbp, qword [r11 + 0x30]
mov rsp, r11
pop r12
pop rdi
pop rsi
ret