Function at 0x140018810
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 [0x14009e080]
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.140018150
nop
mov rdi, qword [rbp - 0x78]
mov rbx, qword [rdi]
mov r14, qword [rsp + 0x70]
cmp rbx, rdi
je 0x1400188b5
lea r8, [rbx + 0x10]
cmp r14, r12
je 0x140018893
mov rdx, r8
mov rcx, r14
call fcn.140008220
add r14, 0x20
mov qword [rsp + 0x70], r14
jmp 0x1400188aa
mov rdx, r14
lea rcx, [rsp + 0x68]
call fcn.14001a560
mov r12, qword [rsp + 0x78]
mov r14, qword [rsp + 0x70]
mov rax, qword [rbx]
mov rbx, rax
cmp rax, rdi
jne 0x140018874
mov rax, r14
mov r13, qword [rsp + 0x68]
sub rax, r13
sar rax, 5
test rax, rax
je 0x140018ee7
cmp qword [r13 + 0x18], 0xf
jbe 0x1400188e1
mov r8, qword [r13]
mov rdx, r8
add r8, qword [r13 + 0x10]
jmp 0x1400188eb
mov r8, qword [r13 + 0x10]
add r8, r13
mov rdx, r13
lea rcx, [rbp + 0x20]
call fcn.140019d40
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 0x140018dff
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 0x140018dcf
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 0x140018d84
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 0x140018d79
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 0x140018a24
add rax, 2
test ecx, ecx
jne 0x140018a10
test edx, edx
jne 0x140018d79
lea rdx, [rbp - 0x40]
call fcn.140017ad0
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 0x140018ee1
cmp rbx, 0xf
ja 0x140018a95
mov qword [rbp - 0x10], rbx
mov edi, reloc.WS2_32.dll_ntohs
mov qword [rbp - 8], rdi
movups xmm0, xmmword [r15]
movups xmmword [rbp - 0x20], xmm0
movq rsi, xmm0
jmp 0x140018b3a
mov qword [rbp - 8], reloc.WS2_32.dll_ntohs
mov rdi, rbx
or rdi, 0xf
cmp rdi, rax
jbe 0x140018abc
mov rdi, rax
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x140018ae3
cmp rdi, 0x16
mov eax, reloc.WLDAP32.dll_Ordinal_22
cmovb rdi, rax
lea rcx, [rdi + 1]
cmp rcx, 0x1000
jb 0x140018b02
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140018eed
mov rcx, rax
call fcn.14007bdd0
test rax, rax
je 0x140018df1
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x140018b13
test rcx, rcx
je 0x140018b11
call fcn.14007bdd0
mov rsi, rax
jmp 0x140018b13
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 0x140018b59
add rbx, r9
jmp 0x140018b60
add rbx, rax
lea r9, [rbp - 0x40]
mov r8b, reloc.WLDAP32.dll_Ordinal_45
mov rdx, rbx
mov rcx, r9
call fcn.14007bcb0
mov r10, rax
cmp rax, rbx
je 0x140018b96
inc rax
cmp rax, rbx
je 0x140018b96
nop
movzx ecx, byte [rax]
cmp cl, 0x2d
je 0x140018b8e
mov byte [r10], cl
inc r10
inc rax
cmp rax, rbx
jne 0x140018b80
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.140019d40
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 0x140018c30
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 0x140018cab
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.14000a970
lea rdx, [0x14000ab60]
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.140018f00
mov r8, r15
mov edx, 1
call fcn.140018f00
jmp 0x140018cb0
mov r15, qword [rsp + 0x60]
mov rdx, qword [rbp + 0x18]
cmp rdx, 7
jbe 0x140018cf0
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140018ceb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140018dea
call fcn.14007c04c
xor ebx, ebx
mov qword [rbp + 0x10], rbx
mov qword [rbp + 0x18], 7
mov word [rbp], bx
cmp rdi, 0xf
jbe 0x140018d3a
lea rdx, [rdi + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x140018d31
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140018df1
mov rcx, rsi
call fcn.14007c04c
nop
mov rdx, qword [rbp - 0x28]
cmp rdx, 0xf
jbe 0x140018d75
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140018d70
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140018df8
call fcn.14007c04c
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 0x140018990
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 0x140018e0d
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.14000a970
lea rdx, [0x14000ab60]
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 0x140018e62
lea rdx, [rdi*2 + 2]
mov rax, rbx
cmp rdx, 0x1000
jb 0x140018e59
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140018e59
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rbx
call fcn.14007c04c
nop
lea rcx, [rbp - 0x80]
call fcn.140005270
nop
mov rdx, r14
mov rcx, r13
call fcn.14001a210
sub r12, r13
and r12, 0xffffffffffffffe0
mov rax, r13
cmp r12, 0x1000
jb 0x140018ea6
add r12, 0x27
mov r13, qword [r13 - 8]
sub rax, r13
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140018ea6
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.14007c04c
mov rcx, qword [rbp + 0xd00]
xor rcx, rsp
call fcn.14007bdb0
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.1400015e0
nop
call fcn.140019960
nop
call fcn.140001540
int3