Function at 0x106c9cc
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xb0
mov rax, qword [0x0109d1a0]
xor rax, rsp
mov qword [rsp + 0xa0], rax
xor ebx, ebx
mov esi, edx
mov dword [rsp + 0x40], edx
mov r14d, ebx
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x38], rbx
mov qword [rcx + 0xb68], rbx
mov rdi, rcx
call fcn.0106c8c4
lea rcx, [rdi + 0xdc]
lea rdx, [rdi + 0xa3c]
mov r8d, 0xa0
call fcn.01083500
cmp esi, ebx
mov r11d, 0x7fff
mov dword [rdi + 0xadc], r11d
mov dword [rdi + 0xae0], r11d
mov r12d, ebx
je 0x106cbfe
lea r8, [rsp + 0x48]
lea rdx, [0x010674e0]
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyW]
cmp eax, ebx
jne 0x106cbf7
mov rax, qword [rsp + 0x48]
lea ebp, [rbx + 1]
lea r13, [rdi + 0x17c]
mov qword [rdi + 0xb68], rax
lea rsi, [rdi + 0xae4]
mov r9d, dword [rsp + 0x40]
lea r8, [0x010675f0]
lea rcx, [rsp + 0x50]
mov edx, 0x20
mov dword [rsp + 0x20], ebp
call fcn.0107e7ac
mov rcx, qword [rdi + 0xb68]
lea r8, [rsp + 0x38]
lea rdx, [rsp + 0x50]
mov word [rsp + 0x90], bx
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyW]
cmp eax, ebx
jne 0x106cbce
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x34]
lea rdx, [0x01067600]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x30]
mov r12d, 4
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x34], r12d
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
cmp eax, ebx
jne 0x106cb16
mov eax, dword [rsp + 0x30]
mov dword [rsi], eax
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x34]
lea rdx, [0x01067630]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x30]
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x34], r12d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
cmp eax, ebx
jne 0x106cb51
mov eax, dword [rsp + 0x30]
jmp 0x106cb8c
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x34]
lea rdx, [0x01067658]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x30]
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x34], r12d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
cmp eax, ebx
jne 0x106cb8f
mov eax, dword [rsp + 0x30]
mov dword [rsi], eax
mov dword [rsi + 4], eax
mov rdx, qword [rsp + 0x38]
mov rcx, rdi
call fcn.0106c4c0
cmp eax, ebx
mov r12d, eax
je 0x106cbae
mov eax, 1
cmp ebp, eax
cmove r14d, eax
lea rdx, [rdi + 0xa3c]
mov rcx, r13
mov r8d, 0xa0
call fcn.01083500
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
add ebp, 1
add rsi, 8
add r13, 0xa0
cmp ebp, 0xd
jle 0x106ca8f
mov rcx, qword [rdi + 0xb68]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp r12d, ebx
jne 0x106cbfe
mov ebx, 0x80004005
jmp 0x106cc6d
movss xmm1, dword [0x01068580]
mov eax, ebx
cmp r14d, ebx
setne al
lea rdx, [rdi + 0xdc]
mov r8d, 0xa0
mov ecx, eax
mov eax, dword [rdi + rcx*8 + 0xae0]
mov dword [rdi + 0xc0], eax
mov eax, dword [rdi + rcx*8 + 0xadc]
mov dword [rdi + 0xbc], eax
mov ecx, dword [rdi + 0xc0]
cvtsi2ss xmm0, rcx
mov ecx, eax
divss xmm0, xmm1
movss dword [rdi + 0xc8], xmm0
cvtsi2ss xmm0, rcx
lea rcx, [rdi + 0x99c]
divss xmm0, xmm1
movss dword [rdi + 0xc4], xmm0
call fcn.01083500
mov eax, ebx
mov rcx, qword [rsp + 0xa0]
xor rcx, rsp
call fcn.0107dbd0
mov rbx, qword [rsp + 0x100]
add rsp, 0xb0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret