Function at 0x140002960
Capabilities:
Query or enumerate registry key
Query or enumerate registry value
Set registry value

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xd10]
sub rsp, 0xe10
mov rax, qword [0x14000a040]
xor rax, rsp
mov qword [rbp + 0xd00], rax
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x68], xmm0
xor r12d, r12d
mov qword [rsp + 0x78], r12
lea rdx, [rbp - 0x80]
call fcn.140002220
nop
mov rdi, qword [rbp - 0x78]
mov rbx, qword [rdi]
mov r14, qword [rsp + 0x70]
cmp rbx, rdi
je 0x140002a05
lea r8, [rbx + 0x10]
cmp r14, r12
je 0x1400029e3
mov rdx, r8
mov rcx, r14
call fcn.1400039d0
add r14, 0x20
mov qword [rsp + 0x70], r14
jmp 0x1400029fa
mov rdx, r14
lea rcx, [rsp + 0x68]
call fcn.140004990
mov r12, qword [rsp + 0x78]
mov r14, qword [rsp + 0x70]
mov rax, qword [rbx]
mov rbx, rax
cmp rax, rdi
jne 0x1400029c4
mov rax, r14
mov r13, qword [rsp + 0x68]
sub rax, r13
sar rax, 5
test rax, rax
je 0x140003037
cmp qword [r13 + 0x18], 0xf
jbe 0x140002a31
mov r8, qword [r13]
mov rdx, r8
add r8, qword [r13 + 0x10]
jmp 0x140002a3b
mov r8, qword [r13 + 0x10]
add r8, r13
mov rdx, r13
lea rcx, [rbp + 0x20]
call fcn.140004150
nop
lea r15, [rbp + 0x20]
mov rbx, qword [rbp + 0x20]
mov rdi, qword [rbp + 0x38]
cmp rdi, 7
cmova r15, rbx
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x48], 0
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
mov r9d, 0xf003f
xor r8d, r8d
lea rdx, str.SYSTEMCurrentControlSetControlClass4D36E972_E325_11CE_BFC1_08002bE10318
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x140002f4f
xor eax, eax
mov esi, eax
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x44], 0x400
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x44]
lea r8, [rbp + 0x500]
xor edx, edx
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
test eax, eax
jne 0x140002f1f
xor ebx, ebx
nop dword [rax]
mov qword [rsp + 0x50], rbx
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
mov r9d, 0xf003f
xor r8d, r8d
lea rdx, [rbp + 0x500]
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x140002ed4
mov dword [rsp + 0x58], 0x400
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x40]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea rdx, str.DriverDesc
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x140002ec9
lea rax, [rbp + 0x40]
mov r8, r15
sub r8, rax
nop word [rax + rax]
movzx edx, word [rax]
movzx ecx, word [rax + r8]
sub edx, ecx
jne 0x140002b74
add rax, 2
test ecx, ecx
jne 0x140002b60
test edx, edx
jne 0x140002ec9
lea rdx, [rbp - 0x40]
call fcn.140001ba0
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], rbx
mov qword [rbp - 8], rbx
mov rbx, qword [rbp - 0x30]
lea r15, [rbp - 0x40]
mov r9, qword [rbp - 0x40]
mov rdx, qword [rbp - 0x28]
cmp rdx, 0xf
cmova r15, r9
movabs rax, 0x7fffffffffffffff
cmp rbx, rax
ja 0x140003031
cmp rbx, 0xf
ja 0x140002be5
mov qword [rbp - 0x10], rbx
mov edi, 0xf
mov qword [rbp - 8], rdi
movups xmm0, xmmword [r15]
movups xmmword [rbp - 0x20], xmm0
movq rsi, xmm0
jmp 0x140002c8a
mov qword [rbp - 8], 0xf
mov rdi, rbx
or rdi, 0xf
cmp rdi, rax
jbe 0x140002c0c
mov rdi, rax
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x140002c33
cmp rdi, 0x16
mov eax, 0x16
cmovb rdi, rax
lea rcx, [rdi + 1]
cmp rcx, 0x1000
jb 0x140002c52
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14000303d
mov rcx, rax
call fcn.140004db0
test rax, rax
je 0x140002f41
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x140002c63
test rcx, rcx
je 0x140002c61
call fcn.140004db0
mov rsi, rax
jmp 0x140002c63
xor esi, esi
mov qword [rbp - 0x20], rsi
mov qword [rbp - 0x10], rbx
mov qword [rbp - 8], rdi
lea r8, [rbx + 1]
mov rdx, r15
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
mov rdx, qword [rbp - 0x28]
mov rbx, qword [rbp - 0x30]
mov r9, qword [rbp - 0x40]
lea r15, [rbp - 0x40]
cmp rdx, 0xf
seta cl
cmova r15, r9
add r15, rbx
lea rax, [rbp - 0x40]
test cl, cl
je 0x140002ca9
add rbx, r9
jmp 0x140002cb0
add rbx, rax
lea r9, [rbp - 0x40]
mov r8b, 0x2d
mov rdx, rbx
mov rcx, r9
call fcn.140004c80
mov r10, rax
cmp rax, rbx
je 0x140002ce6
inc rax
cmp rax, rbx
je 0x140002ce6
nop
movzx ecx, byte [rax]
cmp cl, 0x2d
je 0x140002cde
mov byte [r10], cl
inc r10
inc rax
cmp rax, rbx
jne 0x140002cd0
lea rcx, [rbp - 0x40]
cmp qword [rbp - 0x28], 0xf
seta r8b
cmova rcx, qword [rbp - 0x40]
mov r9, r10
sub r9, rcx
sub r15, r10
mov rbx, qword [rbp - 0x30]
mov rax, rbx
sub rax, r9
cmp rax, r15
cmovb r15, rax
lea rcx, [rbp - 0x40]
test r8b, r8b
cmovne rcx, qword [rbp - 0x40]
add rcx, r9
sub rbx, r15
mov r8, rbx
sub r8, r9
inc r8
lea rdx, [rcx + r15]
call sub.VCRUNTIME140.dll_memmove
mov qword [rbp - 0x30], rbx
lea r8, [rbp - 0x40]
cmp qword [rbp - 0x28], 0xf
seta r9b
cmova r8, qword [rbp - 0x40]
add r8, rbx
lea rdx, [rbp - 0x40]
test r9b, r9b
cmovne rdx, qword [rbp - 0x40]
lea rcx, [rbp]
call fcn.140004150
nop
lea rcx, [rbp]
cmp qword [rbp + 0x18], 7
cmova rcx, qword [rbp]
mov rax, 0xffffffffffffffff
nop word [rax + rax]
lea rax, [rax + 1]
cmp word [rcx + rax*2], 0
jne 0x140002d80
lea eax, [rax*2 + 2]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
mov r9d, 1
xor r8d, r8d
lea rdx, str.NetworkAddress
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
jne 0x140002dfb
lea rdx, str.Tpm___Secure_Boot_Bypass_Successful_
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400016e0
lea rdx, [0x1400018b0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov r15, qword [rsp + 0x60]
mov r8, r15
xor edx, edx
call fcn.140003050
mov r8, r15
mov edx, 1
call fcn.140003050
jmp 0x140002e00
mov r15, qword [rsp + 0x60]
mov rdx, qword [rbp + 0x18]
cmp rdx, 7
jbe 0x140002e40
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002e3b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140002f3a
call fcn.140004dec
xor ebx, ebx
mov qword [rbp + 0x10], rbx
mov qword [rbp + 0x18], 7
mov word [rbp], bx
cmp rdi, 0xf
jbe 0x140002e8a
lea rdx, [rdi + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x140002e81
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140002f41
mov rcx, rsi
call fcn.140004dec
nop
mov rdx, qword [rbp - 0x28]
cmp rdx, 0xf
jbe 0x140002ec5
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002ec0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140002f48
call fcn.140004dec
mov esi, dword [rsp + 0x40]
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [rsp + 0x44], 0x400
inc esi
mov dword [rsp + 0x40], esi
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
lea r9, [rsp + 0x44]
lea r8, [rbp + 0x500]
mov edx, esi
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
test eax, eax
je 0x140002ae0
mov rdi, qword [rbp + 0x38]
mov rbx, qword [rbp + 0x20]
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea rdx, str.______________________________________________
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
jmp 0x140002f5d
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
lea rdx, str.___Cannot_Access_Registry___Maybe_you_dont_have_Administer_permission.
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.1400016e0
lea rdx, [0x1400018b0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
cmp rdi, 7
jbe 0x140002fb2
lea rdx, [rdi*2 + 2]
mov rax, rbx
cmp rdx, 0x1000
jb 0x140002fa9
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140002fa9
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rbx
call fcn.140004dec
nop
lea rcx, [rbp - 0x80]
call fcn.1400011d0
nop
mov rdx, r14
mov rcx, r13
call fcn.140004620
sub r12, r13
and r12, 0xffffffffffffffe0
mov rax, r13
cmp r12, 0x1000
jb 0x140002ff6
add r12, 0x27
mov r13, qword [r13 - 8]
sub rax, r13
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140002ff6
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rdx, r12
mov rcx, r13
call fcn.140004dec
mov rcx, qword [rbp + 0xd00]
xor rcx, rsp
call fcn.140004d90
lea r11, [rsp + 0xe10]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.1400011a0
nop
call fcn.140003c00
nop
call fcn.140001100
int3