Function at 0x1093320
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xb0
mov rax, qword [0x010d71a0]
xor rax, rsp
mov qword [rsp + 0xa0], rax
mov r13d, edx
mov rdi, rcx
mov ebx, 0x1a
lea rdx, [0x01084cf8]
mov ecx, ebx
mov esi, r8d
call fcn.01091f4c
xor ebp, ebp
mov rcx, rdi
and qword [rsp + 0x48], rbp
and qword [rsp + 0x38], rbp
and qword [rdi + 0xb68], rbp
call fcn.01092ea8
lea rcx, [rdi + 0x99c]
lea rdx, [rdi + 0xa3c]
mov r8d, 0xa0
call fcn.010ac860
mov eax, 0x7fff
xor r12d, r12d
test r13d, r13d
mov dword [rdi + 0xc0], eax
mov dword [rdi + 0xbc], eax
je 0x1093660
test esi, esi
je 0x1093660
mov r8d, dword [rdi + 0xd8]
lea rdx, [0x01084d30]
mov ecx, ebx
mov dword [rsp + 0x40], esi
call fcn.01091f4c
movzx ebx, sil
mov esi, ebx
lea rdx, [0x01084d58]
lea ecx, [rbp + 0x1a]
and esi, 0xf
mov r8d, esi
call fcn.01091f4c
shr ebx, 4
lea rdx, [0x01084d80]
lea ecx, [rbp + 0x1a]
mov r8d, ebx
call fcn.01091f4c
lea rdx, [0x01084db0]
lea ecx, [rbp + 0x1a]
xor r8d, r8d
call fcn.01091f4c
mov r11d, dword [rdi + 0xd8]
cmp r11d, 0x10
je 0x1093444
cmp r11d, 0x50
je 0x1093446
xor esi, esi
cmp dword [rdi + 0xb70], esi
jne 0x1093668
mov ebp, 0x80004005
jmp 0x109366e
mov esi, ebx
test esi, esi
je 0x109342e
cmp dword [rdi + 0xb70], esi
jne 0x1093459
test byte [rsp + 0x43], 0x80
je 0x109342e
lea r8, [rsp + 0x48]
lea rdx, [0x010847e0]
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyW]
lea rdx, [0x01084b28]
mov ecx, 0x1a
mov r8d, eax
mov ebx, eax
call fcn.01091f4c
test ebx, ebx
jne 0x109343a
mov rax, qword [rsp + 0x48]
lea r8, [0x01084b50]
lea edx, [rbx + 0x20]
lea rcx, [rsp + 0x50]
mov r9d, r13d
mov dword [rsp + 0x20], esi
mov qword [rdi + 0xb68], rax
call fcn.010a7b2c
and word [rsp + 0x90], bp
lea r13d, [rbx + 0x1a]
lea r8, [rsp + 0x50]
lea rdx, [0x01084dd0]
mov ecx, r13d
call fcn.01091f4c
mov rcx, qword [rdi + 0xb68]
lea r8, [rsp + 0x38]
lea rdx, [rsp + 0x50]
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyW]
lea rdx, [0x01084df0]
mov ecx, r13d
mov r8d, eax
mov ebx, eax
call fcn.01091f4c
test ebx, ebx
jne 0x109364a
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x34]
lea r12d, [r13 - 0x16]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x30]
lea rdx, [0x01084b60]
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x34], r12d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov ebx, r13d
test eax, eax
jne 0x109355c
mov r8d, dword [rsp + 0x30]
lea rdx, [0x01084e18]
mov ecx, ebx
mov dword [rdi + 0xbc], r8d
call fcn.01091f4c
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x34]
lea rdx, [0x01084bd8]
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]
test eax, eax
jne 0x10935a6
mov r8d, dword [rsp + 0x30]
lea rdx, [0x01084e58]
mov dword [rdi + 0xc0], r8d
jmp 0x109360f
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x34]
lea rdx, [0x01084c48]
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]
mov r8d, dword [rsp + 0x30]
test eax, eax
jne 0x10935f7
mov dword [rdi + 0xc0], r8d
mov dword [rdi + 0xbc], r8d
lea rdx, [0x01084c68]
jmp 0x109360f
mov eax, 0x7fff
lea rdx, [0x01084e90]
mov dword [rdi + 0xc0], eax
mov dword [rdi + 0xbc], eax
mov ecx, ebx
call fcn.01091f4c
mov rdx, qword [rsp + 0x38]
mov rcx, rdi
call fcn.01092a6c
lea rcx, [rdi + 0x99c]
lea rdx, [rdi + 0xa3c]
mov r8d, 0xa0
mov r12d, eax
call fcn.010ac860
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rcx, qword [rdi + 0xb68]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test r12d, r12d
je 0x109343a
cmp dword [rdi + 0xb70], esi
je 0x109366e
mov dword [rdi + 0xb70], esi
mov ebx, 0x1a
lea rdx, [0x01084f10]
mov ecx, ebx
call fcn.01091f4c
test ebp, ebp
js 0x10936c9
mov edx, dword [rdi + 0xc0]
movss xmm1, dword [0x0108db04]
mov ecx, ebx
cvtsi2ss xmm0, rdx
divss xmm0, xmm1
movss dword [rdi + 0xc8], xmm0
mov edx, dword [rdi + 0xbc]
cvtsi2ss xmm0, rdx
lea rdx, [0x01084f50]
divss xmm0, xmm1
movss dword [rdi + 0xc4], xmm0
call fcn.01091f4c
mov eax, ebp
mov rcx, qword [rsp + 0xa0]
xor rcx, rsp
call fcn.010a6e90
mov rbx, qword [rsp + 0x108]
add rsp, 0xb0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret