Function at 0x140028688
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 8], rbx
mov dword [rsp + 0x20], r9d
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x70
xor esi, esi
mov eax, r9d
mov r15, rdx
mov r14, rcx
test r8d, r8d
je 0x1400286b7
mov word [rdx], si
or dword [rbp + 0x50], 0xffffffff
mov r8d, r8d
add r8, r8
cmp rax, r8
jae 0x1400286ea
mov rax, qword [0x140060140]
lea rcx, [0x140060140]
mov edx, 0x48d3d3
mov rax, qword [rax]
call qword [case.0x14002adfe.0]
mov eax, dword [rbp + 0x50]
jmp 0x140028919
lea rbx, [0x140052e6c]
lea r10, [0x140062c88]
mov cl, byte [rbx]
or r9d, 0xffffffff
mov rdx, r14
mov dword [rbp + 0x50], r9d
call fcn.1400283d0
mov r13d, eax
cmp eax, 0xffffffff
je 0x140028903
and qword [rbp - 0x18], 0
mov rcx, r10
mov qword [rbp - 0x20], r10
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, 1
lock xadd dword [rbp - 0x18], ecx
test ecx, ecx
jne 0x140028748
cmp dword [rbp - 0x14], esi
jne 0x140028931
call qword [sym.imp.MSVCP140.dll__Thrd_id]
mov dword [rbp - 0x14], eax
mov edi, esi
cmp edi, 4
jge 0x1400288ef
mov eax, dword [r14 + 0x1c]
lea rcx, [rbp - 0x10]
mov rdx, qword [r14 + 0x10]
mov r9d, r13d
mov dword [rsp + 0x20], eax
mov r12b, sil
mov qword [rbp - 0x28], rsi
call fcn.140027680
mov ecx, dword [rax]
mov dword [rbp + 0x50], ecx
mov rdx, qword [rax + 8]
mov qword [rax + 8], rsi
mov rcx, qword [rbp - 0x28]
mov qword [rbp - 0x28], rdx
test rcx, rcx
je 0x140028799
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x14002adfe.0]
mov rcx, qword [rbp - 8]
test rcx, rcx
je 0x1400287b3
mov qword [rbp - 8], rsi
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x14002adfe.0]
cmp dword [rbp + 0x50], esi
jne 0x1400288ca
mov ecx, dword [rbp + 0x58]
mov r9d, 0xffff
mov rax, qword [rbp - 0x28]
xor edx, edx
mov sil, byte [r14 + 0x18]
mov r8, qword [r14]
and sil, 0xf
and dword [rbp - 0x2c], 0
mov dword [rbp - 0x30], ecx
lea rcx, [rbp - 0x30]
mov qword [rsp + 0x30], rcx
lea rcx, [rbp - 0x2c]
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rcx
mov rcx, qword [rax + 0x10]
call qword [sym.imp.ADVAPI32.dll_RegGetValueW]
mov r8d, dword [rbp - 0x2c]
mov r9d, 2
mov edx, eax
cmp dword [rbp - 0x30], r9d
jae 0x14002881b
lea ecx, [r8 - 1]
cmp ecx, 1
cmovbe edx, r9d
xor ecx, ecx
test edx, edx
jne 0x14002885c
lea eax, [r8 - 1]
cmp eax, 1
ja 0x14002883a
mov eax, dword [rbp - 0x30]
shr rax, 1
mov word [r15 + rax*2 - 2], cx
mov r8d, dword [rbp - 0x2c]
movzx ecx, sil
cmp r8d, ecx
jne 0x140028848
mov dword [rbp + 0x50], edx
jmp 0x140028874
sub r8d, 1
je 0x1400288a1
cmp r8d, 1
jne 0x140028859
cmp ecx, r8d
je 0x140028843
mov edx, r9d
mov dword [rbp + 0x50], edx
cmp edx, 0x3f2
je 0x1400288a6
cmp edx, 0x3fa
je 0x1400288a6
cmp edx, 6
je 0x1400288a6
xor esi, esi
test edx, edx
jne 0x1400288ca
mov rcx, qword [rbp - 0x28]
test rcx, rcx
je 0x140028894
mov qword [rbp - 0x28], rsi
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x14002adfe.0]
lea rcx, [rbp - 0x20]
call fcn.14000d798
xor eax, eax
jmp 0x140028919
cmp ecx, r9d
jmp 0x140028857
mov rcx, qword [r14 + 0x10]
lea rdx, [0x1400616f0]
xor esi, esi
movzx eax, word [rcx + 0xa]
and eax, 0x1f
shl rax, 5
mov qword [rax + rdx], rsi
call fcn.14002616c
mov r12b, 1
mov rcx, qword [rbp - 0x28]
test rcx, rcx
je 0x1400288e4
mov qword [rbp - 0x28], rsi
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x14002adfe.0]
inc edi
test r12b, r12b
jne 0x14002874a
lea rcx, [rbp - 0x20]
call fcn.14000d798
mov r9d, dword [rbp + 0x50]
lea r10, [0x140062c88]
inc rbx
lea rax, [0x140052e6f]
cmp rbx, rax
jne 0x1400286f8
mov eax, r9d
mov rbx, qword [rsp + 0xb0]
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
xor edx, edx
mov ecx, 0x131f4c4
call fcn.1400061ec
int3