Function at 0x140020310
Capabilities:
Query or enumerate registry value

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xc0
mov qword [rbp - 0x11], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x1400be010]
xor rax, rsp
mov qword [rbp + 0x2f], rax
mov rdi, rcx
mov qword [rbp - 1], rcx
xor al, al
mov dword [rbp - 0x59], eax
xor r14d, r14d
test rcx, rcx
jne 0x140020366
mov esi, r14d
mov qword [rbp + 7], rsi
jmp 0x140020377
mov edx, 0x104
call fcn.140068454
mov rsi, rax
mov qword [rbp + 7], rax
mov r13d, r14d
lea rax, str.C:WindowsSystem32DriverStoreFileRepository_asussci2.inf
mov r12, rax
sub r12, rdi
nop word [rax + rax]
movsxd rcx, r13d
imul rcx, rcx, 0x208
add rcx, rax
je 0x14002041f
mov edx, 0x104
call fcn.140068454
mov r15, rax
cmp esi, eax
jb 0x14002045e
test r15d, r15d
je 0x14002041f
mov rsi, rdi
movzx edi, word [r12 + rsi]
movzx ebx, word [rsi]
movzx ecx, di
call fcn.140068738
test eax, eax
je 0x1400203eb
movzx ecx, di
call fcn.140068744
test eax, eax
je 0x1400203eb
movzx ecx, di
call fcn.1400686f0
movzx edi, ax
movzx ecx, bx
call fcn.140068738
test eax, eax
je 0x14002040e
movzx ecx, bx
call fcn.140068744
test eax, eax
je 0x14002040e
movzx ecx, bx
call fcn.1400686f0
movzx ebx, ax
cmp di, bx
jne 0x140020453
inc r14d
add rsi, 2
cmp r14d, r15d
jb 0x1400203c0
mov dil, 1
movzx eax, dil
mov rcx, qword [rbp + 0x2f]
xor rcx, rsp
call fcn.140055700
lea r11, [rsp + 0xc0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov rdi, qword [rbp - 1]
mov rsi, qword [rbp + 7]
xor r14d, r14d
inc r13d
add r12, 0x208
cmp r13d, 3
lea rax, str.C:WindowsSystem32DriverStoreFileRepository_asussci2.inf
jl 0x140020390
mov qword [rbp + 0x1f], r14
mov qword [rbp + 0x27], 7
mov word [rbp + 0xf], r14w
movdqa xmm0, xmmword [0x1400ac8a0]
movdqu xmmword [rbp - 0x41], xmm0
mov word [rbp - 0x51], r14w
mov r8d, 7
lea rdx, str.SISPath
lea rcx, [rbp - 0x51]
call fcn.140001a50
nop
movdqa xmm0, xmmword [0x1400ac8a0]
movdqu xmmword [rbp - 0x21], xmm0
mov word [rbp - 0x31], r14w
mov r8d, 0x45
lea rdx, str.SOFTWAREMicrosoftWindowsCurrentVersionAppxPackageVolumes1
lea rcx, [rbp - 0x31]
call fcn.140001a50
nop
mov qword [rbp - 1], r14
mov dword [rbp - 9], r14d
mov dword [rbp + 7], r14d
lea rdx, [rbp - 0x31]
cmp qword [rbp - 0x19], 8
cmovae rdx, qword [rbp - 0x31]
lea rax, [rbp - 1]
mov qword [rsp + 0x20], rax
mov r15d, 1
mov r9d, r15d
xor r8d, r8d
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x1400205d7
lea rdx, [rbp - 0x51]
cmp qword [rbp - 0x39], 8
cmovae rdx, qword [rbp - 0x51]
lea rax, [rbp - 9]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r14
lea r9, [rbp + 7]
xor r8d, r8d
mov rcx, qword [rbp - 1]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x1400205d7
mov ecx, dword [rbp - 9]
add ecx, 2
call fcn.140055768
mov rbx, rax
mov r8d, dword [rbp - 9]
add r8d, 2
xor edx, edx
mov rcx, rax
call fcn.140059e60
lea rdx, [rbp - 0x51]
cmp qword [rbp - 0x39], 8
cmovae rdx, qword [rbp - 0x51]
lea rax, [rbp - 9]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
lea r9, [rbp + 7]
xor r8d, r8d
mov rcx, qword [rbp - 1]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x1400205ca
cmp dword [rbp + 7], r15d
jne 0x1400205ca
mov r8, 0xffffffffffffffff
inc r8
cmp word [rbx + r8*2], 0
jne 0x1400205b3
mov rdx, rbx
lea rcx, [rbp + 0xf]
call fcn.140001a50
test rbx, rbx
je 0x1400205d7
mov rcx, rbx
call fcn.140055724
mov rcx, qword [rbp - 1]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop
mov rdx, qword [rbp - 0x19]
cmp rdx, 8
jb 0x140020622
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x31]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002061d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140020960
call fcn.140055724
movdqa xmm0, xmmword [0x1400ac8a0]
movdqu xmmword [rbp - 0x21], xmm0
mov word [rbp - 0x31], r14w
mov rdx, qword [rbp - 0x39]
cmp rdx, 8
jb 0x140020674
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x51]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002066f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140020966
call fcn.140055724
mov r8d, 0xa
lea rdx, str.B9ECED6F.
lea rcx, [rbp + 0xf]
call fcn.140002cf0
mov r8, qword [rbp + 0xf]
mov rdx, qword [rbp + 0x27]
cmp dword [rbp + 0x1f], esi
jae 0x14002070f
lea rcx, [rbp + 0xf]
cmp rdx, 8
cmovae rcx, r8
mov rax, qword [rbp + 0x1f]
lea rbx, [rcx + rax*2]
lea r14, [rbp + 0xf]
cmovae r14, r8
cmp r14, rbx
je 0x140020707
sub rdi, r14
mov qword [rbp - 1], rdi
nop dword [rax]
nop word [rax + rax]
movzx esi, word [rdi + r14]
movzx ecx, word [r14]
call fcn.1400686f0
movzx edi, ax
movzx ecx, si
call fcn.1400686f0
cmp di, ax
jne 0x1400207ec
add r14, 2
cmp r14, rbx
mov rdi, qword [rbp - 1]
jne 0x1400206d0
mov rdx, qword [rbp + 0x27]
mov r8, qword [rbp + 0xf]
mov al, 1
mov dword [rbp - 0x59], eax
xor r14d, r14d
cmp rdx, 8
jb 0x14002074a
lea rdx, [rdx*2 + 2]
mov rax, r8
cmp rdx, 0x1000
jb 0x140020742
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002096c
mov rcx, r8
call fcn.140055724
mov edi, dword [rbp - 0x59]
test dil, dil
jne 0x140020422
mov esi, r15d
movdqa xmm0, xmmword [0x1400ac8a0]
movdqu xmmword [rbp - 0x41], xmm0
mov word [rbp - 0x51], r14w
mov r8d, 0xd
lea rdx, str.SecurityCheck
lea rcx, [rbp - 0x51]
call fcn.140001a50
nop
movdqa xmm0, xmmword [0x1400ac8a0]
movdqu xmmword [rbp - 0x21], xmm0
mov word [rbp - 0x31], r14w
mov r8d, 0x39
lea rdx, str.SOFTWAREASUSASUS_System_Control_InterfaceAsusDiagnosis
lea rcx, [rbp - 0x31]
call fcn.140001a50
nop
mov qword [rbp - 1], r14
mov dword [rbp - 9], r14d
mov dword [rbp + 7], r14d
lea rdx, [rbp - 0x31]
cmp qword [rbp - 0x19], 8
cmovae rdx, qword [rbp - 0x31]
lea rax, [rbp - 1]
mov qword [rsp + 0x20], rax
mov r9d, r15d
xor r8d, r8d
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x1400207fb
xor bl, bl
jmp 0x14002089c
xor al, al
mov rdx, qword [rbp + 0x27]
mov r8, qword [rbp + 0xf]
jmp 0x140020709
lea rdx, [rbp - 0x51]
cmp qword [rbp - 0x39], 8
cmovae rdx, qword [rbp - 0x51]
lea rax, [rbp - 9]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r14
lea r9, [rbp + 7]
xor r8d, r8d
mov rcx, qword [rbp - 1]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
je 0x140020830
xor bl, bl
jmp 0x14002089c
mov ecx, dword [rbp - 9]
call fcn.140055768
mov rdi, rax
mov r8d, dword [rbp - 9]
xor edx, edx
mov rcx, rax
call fcn.140059e60
lea rdx, [rbp - 0x51]
cmp qword [rbp - 0x39], 8
cmovae rdx, qword [rbp - 0x51]
lea rax, [rbp - 9]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
lea r9, [rbp + 7]
xor r8d, r8d
mov rcx, qword [rbp - 1]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
je 0x14002087e
xor bl, bl
jmp 0x14002088c
cmp dword [rbp + 7], 4
je 0x140020888
xor bl, bl
jmp 0x14002088c
mov esi, dword [rdi]
mov bl, 1
test rdi, rdi
je 0x140020899
mov rcx, rdi
call fcn.140055724
mov edi, dword [rbp - 0x59]
mov rcx, qword [rbp - 1]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop
mov rdx, qword [rbp - 0x19]
cmp rdx, 8
jb 0x1400208e7
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x31]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400208e2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140020972
call fcn.140055724
movdqa xmm0, xmmword [0x1400ac8a0]
movdqu xmmword [rbp - 0x21], xmm0
mov word [rbp - 0x31], r14w
mov rdx, qword [rbp - 0x39]
cmp rdx, 8
jb 0x140020935
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x51]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140020930
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002095a
call fcn.140055724
test bl, bl
je 0x140020943
movzx edi, dil
test esi, esi
cmove edi, r15d
movzx edx, bl
mov r8d, esi
lea rcx, str.Debug_Mode_Status___d__SecurityCheck___d_n
call fcn.140036ce0
jmp 0x140020422
call fcn.14005c4ec
nop
call fcn.14005c4ec
nop
call fcn.14005c4ec
nop
call fcn.14005c4ec
nop
call fcn.14005c4ec
int3