Function at 0x140001005
Capabilities:
Query or enumerate registry value
Set registry value

Disassembly:
jmp 0x140006db0
mov rax, rsp
push rbx
push rdi
sub rsp, 0x68
xor edi, edi
lea rcx, str._nupdateSystemConfigurationToReg_called_n
mov qword [rax - 0x20], rdi
mov dword [rax + 0x10], edi
mov dword [rax + 0x18], edi
mov dword [rax + 0x20], edi
mov ebx, edi
call fcn.14000107d
lea r11, [rsp + 0x58]
lea rdx, str.SOFTWAREValidityWBF
mov r9d, 0x20019
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov qword [rsp + 0x20], r11
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x140006e0b
mov rcx, qword [rsp + 0x58]
test rcx, rcx
jne 0x140006e1c
lea rcx, str.Error_opening_VALIDITY_KEY_WBF_n
call fcn.14000107d
mov rcx, qword [rsp + 0x58]
lea rax, [rsp + 0x80]
lea rdx, str.isLenovoSystem
xor r9d, r9d
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x98]
xor r8d, r8d
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x80], 4
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x140006e69
lea rcx, str.System_configuration_already_set_n
call fcn.14000107d
mov ebx, 1
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test ebx, ebx
jne 0x140007040
lea rcx, str.looking_for_system_details_n
call fcn.14000107d
lea rcx, str.LenovoSysCheck.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
test rax, rax
mov rbx, rax
jne 0x140006ea9
lea rcx, str.Failed_to_load_LenovoSysCheck.dll_n
jmp 0x14000703b
mov rcx, rax
call fcn.140006cb0
test eax, eax
jne 0x140006ecf
lea rcx, str.Failed_to_verify_signature_of_the_LenovoSysCheck.dll_n
call fcn.14000107d
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x140007040
lea rdx, str.checkLenovoWMIEXT
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
mov qword [0x140011890], rax
jne 0x140006f04
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.Failed_to_GetProcAddress_of_CheckLenovoWMIEXT_reason__0x_x
mov edx, eax
call fcn.14000107d
jmp 0x140007040
lea rdx, str.isPBASupportedByLenovo
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
mov qword [0x140011800], rax
jne 0x140006f39
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.Failed_to_GetProcAddress_of_isPBASupportedByLenovo_reason__0x_x
mov edx, eax
call fcn.14000107d
jmp 0x140007040
call qword [0x140011890]
cmp eax, 1
jne 0x140007034
mov dword [rsp + 0x88], eax
lea rax, [rsp + 0x50]
lea rdx, str.SOFTWAREValidityWBF
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x58]
xor r9d, r9d
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rdi
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov dword [rsp + 0x28], 2
mov dword [rsp + 0x20], edi
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
test eax, eax
jne 0x140007040
mov rcx, qword [rsp + 0x58]
lea rax, [rsp + 0x88]
lea rdx, str.isLenovoSystem
mov r9d, 4
xor r8d, r8d
mov dword [rsp + 0x28], 4
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x80], 4
call qword [sym.imp.ADVAPI32.dll_RegSetValueExA]
test eax, eax
jne 0x140007040
call qword [0x140011800]
test eax, eax
je 0x14000702b
lea rcx, str.Lenovo_and_PBA_supported
call fcn.14000107d
mov eax, dword [rsp + 0x80]
mov rcx, qword [rsp + 0x58]
mov dword [rsp + 0x28], eax
lea rax, [rsp + 0x90]
lea rdx, str.isPrebootSupported
mov r9d, 4
xor r8d, r8d
mov dword [rsp + 0x90], 1
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegSetValueExA]
jmp 0x140007040
lea rcx, str.Lenovo_and_PBA_Not_supported
jmp 0x14000703b
lea rcx, str.Not_a_lenovo_System
call fcn.14000107d
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x140007050
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea rcx, str.__updateSystemConfigurationToReg
call fcn.14000107d
add rsp, 0x68
pop rdi
pop rbx
ret