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

Disassembly:
jmp 0x140005c10
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.140001050
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 0x140005c6b
mov rcx, qword [rsp + 0x58]
test rcx, rcx
jne 0x140005c7c
lea rcx, str.Error_opening_VALIDITY_KEY_WBF_n
call fcn.140001050
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 0x140005cc9
lea rcx, str.System_configuration_already_set_n
call fcn.140001050
mov ebx, 1
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test ebx, ebx
jne 0x140005ea0
lea rcx, str.looking_for_system_details_n
call fcn.140001050
lea rcx, str.LenovoSysCheck.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
test rax, rax
mov rbx, rax
jne 0x140005d09
lea rcx, str.Failed_to_load_LenovoSysCheck.dll_n
jmp 0x140005e9b
mov rcx, rax
call fcn.140005b10
test eax, eax
jne 0x140005d2f
lea rcx, str.Failed_to_verify_signature_of_the_LenovoSysCheck.dll_n
call fcn.140001050
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x140005ea0
lea rdx, str.checkLenovoWMIEXT
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
mov qword [0x1400107f0], rax
jne 0x140005d64
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.Failed_to_GetProcAddress_of_CheckLenovoWMIEXT_reason__0x_x
mov edx, eax
call fcn.140001050
jmp 0x140005ea0
lea rdx, str.isPBASupportedByLenovo
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
mov qword [0x140010780], rax
jne 0x140005d99
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.Failed_to_GetProcAddress_of_isPBASupportedByLenovo_reason__0x_x
mov edx, eax
call fcn.140001050
jmp 0x140005ea0
call qword [0x1400107f0]
cmp eax, 1
jne 0x140005e94
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 0x140005ea0
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 0x140005ea0
call qword [0x140010780]
test eax, eax
je 0x140005e8b
lea rcx, str.Lenovo_and_PBA_supported
call fcn.140001050
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 0x140005ea0
lea rcx, str.Lenovo_and_PBA_Not_supported
jmp 0x140005e9b
lea rcx, str.Not_a_lenovo_System
call fcn.140001050
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x140005eb0
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea rcx, str.__updateSystemConfigurationToReg
call fcn.140001050
add rsp, 0x68
pop rdi
pop rbx
ret