Function at 0x140019110
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xc0
mov rax, qword [0x140092060]
xor rax, rsp
mov qword [rbp + 0x2f], rax
mov rdi, r9
mov rsi, r8
mov rax, rdx
mov qword [rbp - 0x19], r8
mov qword [rbp - 0x11], r9
xor r15d, r15d
mov dword [rbp - 5], r15d
mov dword [rbp - 9], r15d
mov dword [rbp - 0x29], r15d
mov rdx, r8
cmp qword [r8 + 0x18], 8
jb 0x140019163
mov rdx, qword [r8]
lea rcx, [rbp - 0x21]
mov qword [rsp + 0x20], rcx
mov r9d, 0x20019
xor r8d, r8d
mov rcx, rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
lea r14, str.Key_not_found.
mov edx, 0x5c
lea rbx, str.C:Usersleonard_tsaiDesktopASUS_ProjAsusOLEDShifterAsusOLEDShifterAsusOLEDShifterUtility.cpp
mov rcx, rbx
test eax, eax
je 0x140019257
cmp eax, 2
jne 0x1400191d2
call fcn.140044830
test rax, rax
je 0x1400191c5
mov edx, 0x5c
mov rcx, rbx
call fcn.140044830
inc rax
mov edx, 0x11
mov rcx, r14
jmp 0x14001923b
mov rax, rbx
mov edx, 0x11
mov rcx, r14
jmp 0x14001923b
cmp eax, 5
jne 0x140019210
call fcn.140044830
test rax, rax
je 0x1400191ff
mov edx, 0x5c
mov rcx, rbx
call fcn.140044830
inc rax
mov edx, 0x13
lea rcx, str.Access_is_denied.
jmp 0x14001923b
mov rax, rbx
mov edx, 0x13
lea rcx, str.Access_is_denied.
jmp 0x14001923b
call fcn.140044830
test rax, rax
je 0x14001922c
mov edx, 0x5c
mov rcx, rbx
call fcn.140044830
inc rax
jmp 0x14001922f
mov rax, rbx
mov edx, 0x15
lea rcx, str.Error_opening_key.
mov qword [rsp + 0x20], rcx
mov r9d, 2
lea r8, str.RegGetDWORD
mov rcx, rax
call fcn.140004920
jmp 0x140019291
call fcn.140044830
test rax, rax
je 0x140019273
mov edx, 0x5c
mov rcx, rbx
call fcn.140044830
inc rax
jmp 0x140019276
mov rax, rbx
lea r9, str.Open_Success.
lea r8, str.RegGetDWORD
mov edx, 0x18
mov rcx, rax
call fcn.140004690
mov r8, rdi
cmp qword [rdi + 0x18], 8
jb 0x14001929e
mov r8, qword [rdi]
lea rax, [rbp - 9]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], r15
lea rax, [rbp - 5]
mov qword [rsp + 0x20], rax
xor edx, edx
lea r9d, [rdx + 0x10]
mov rcx, qword [rbp - 0x21]
call qword [sym.imp.ADVAPI32.dll_RegGetValueW]
mov r8, rdi
cmp qword [rdi + 0x18], 8
jb 0x1400192d2
mov r8, qword [rdi]
lea rax, [rbp - 9]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x29]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 5]
mov qword [rsp + 0x20], rax
xor edx, edx
lea r9d, [rdx + 0x10]
mov rcx, qword [rbp - 0x21]
call qword [sym.imp.ADVAPI32.dll_RegGetValueW]
mov edx, 0x5c
mov rcx, rbx
test eax, eax
je 0x140019383
cmp eax, 2
jne 0x140019339
call fcn.140044830
test rax, rax
je 0x14001932f
mov edx, 0x5c
mov rcx, rbx
call fcn.140044830
inc rax
mov edx, 0x23
jmp 0x140019364
mov rax, rbx
mov edx, 0x23
jmp 0x140019364
call fcn.140044830
test rax, rax
je 0x140019355
mov edx, 0x5c
mov rcx, rbx
call fcn.140044830
inc rax
jmp 0x140019358
mov rax, rbx
mov edx, 0x26
lea r14, str.Error_read_key.
mov qword [rsp + 0x20], r14
mov r9d, 2
lea r8, str.RegGetDWORD
mov rcx, rax
call fcn.140004920
jmp 0x1400194bb
call fcn.140044830
test rax, rax
je 0x14001939f
mov edx, 0x5c
mov rcx, rbx
call fcn.140044830
inc rax
jmp 0x1400193a2
mov rax, rbx
lea r9, str.Read_Success
lea r8, str.RegGetDWORD
mov edx, 0x2a
mov rcx, rax
call fcn.140004690
mov edx, 0x5c
mov rcx, rbx
call fcn.140044830
test rax, rax
je 0x1400193e2
mov edx, 0x5c
mov rcx, rbx
call fcn.140044830
lea r14, [rax + 1]
jmp 0x1400193e5
mov r14, rbx
lea r9, [rbp + 0x29]
mov r8d, dword [rbp - 0x29]
nop dword [rax]
sub r9, 2
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dx
shl ax, 2
lea ecx, [rax + rdx]
add cx, cx
sub r8w, cx
add r8w, 0x30
mov word [r9], r8w
mov r8d, edx
test edx, edx
jne 0x1400193f0
mov qword [rbp - 0x49], r15
mov qword [rbp - 0x39], r15
mov eax, 7
mov qword [rbp - 0x31], rax
mov word [rbp - 0x49], r15w
lea rcx, [rbp + 0x29]
cmp r9, rcx
je 0x140019459
lea r8, [rbp + 0x29]
sub r8, r9
sar r8, 1
mov rdx, r9
lea rcx, [rbp - 0x49]
call fcn.140002770
mov rax, qword [rbp - 0x31]
lea r9, [rbp - 0x49]
cmp rax, 8
cmovae r9, qword [rbp - 0x49]
lea r8, str.RegGetDWORD
mov edx, 0x2b
mov rcx, r14
call fcn.140004690
nop
mov rdx, qword [rbp - 0x31]
cmp rdx, 8
jb 0x1400194bb
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x49]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400194b6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140019677
call fcn.140042ba4
mov rcx, qword [rbp - 0x21]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test eax, eax
je 0x140019511
mov edx, 0x5c
mov rcx, rbx
call fcn.140044830
test rax, rax
je 0x1400194ec
mov edx, 0x5c
mov rcx, rbx
call fcn.140044830
lea rbx, [rax + 1]
lea rax, str.Error_close.
mov qword [rsp + 0x20], rax
mov r9d, 2
lea r8, str.RegGetDWORD
lea edx, [r9 + 0x2f]
mov rcx, rbx
call fcn.140004920
mov rax, qword [rsi + 0x18]
cmp dword [rbp - 0x29], 0
je 0x1400195b0
cmp rax, 8
jb 0x14001955a
mov rcx, qword [rsi]
lea rdx, [rax*2 + 2]
cmp rdx, 0x1000
jb 0x140019555
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14001966b
mov rcx, r8
call fcn.140042ba4
mov qword [rsi + 0x10], r15
mov qword [rsi + 0x18], 7
mov word [rsi], r15w
mov rdx, qword [rdi + 0x18]
cmp rdx, 8
jb 0x1400195a9
lea rdx, [rdx*2 + 2]
mov rcx, qword [rdi]
cmp rdx, 0x1000
jb 0x1400195a4
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140019671
mov rcx, r8
call fcn.140042ba4
mov al, 1
jmp 0x140019638
cmp rax, 8
jb 0x1400195eb
mov rcx, qword [rsi]
lea rdx, [rax*2 + 2]
cmp rdx, 0x1000
jb 0x1400195e6
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14001966b
mov rcx, r8
call fcn.140042ba4
mov qword [rsi + 0x10], r15
mov qword [rsi + 0x18], 7
mov word [rsi], r15w
mov rdx, qword [rdi + 0x18]
cmp rdx, 8
jb 0x140019636
lea rdx, [rdx*2 + 2]
mov rcx, qword [rdi]
cmp rdx, 0x1000
jb 0x140019631
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140019671
mov rcx, r8
call fcn.140042ba4
xor al, al
mov qword [rdi + 0x10], r15
mov qword [rdi + 0x18], 7
mov word [rdi], r15w
mov rcx, qword [rbp + 0x2f]
xor rcx, rsp
call fcn.140042660
mov rbx, qword [rsp + 0xf0]
add rsp, 0xc0
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
call fcn.1400494f8
nop
call fcn.1400494f8
nop
call fcn.1400494f8
int3