Function at 0x14003b930
Capabilities:
Set registry value

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x250]
sub rsp, 0x350
mov qword [rbp - 0x30], 0xfffffffffffffffe
mov qword [rsp + 0x3a0], rbx
mov rax, qword [0x1402f8c60]
xor rax, rsp
mov qword [rbp + 0x240], rax
mov rsi, rdx
mov r14d, ecx
lea r8, str.SetGUIDEntry
mov qword [rbp - 0x60], r8
lea r15, str.c:users_scddocumentsmyworkproject__dynabooksystemdriverdsd_fordnbk0001_dev_bcmcentennial_rs5dynabookecoservice_tpowersaverstaticlib_tpowersaver.cpp
mov qword [rbp - 0x58], r15
mov dword [rbp - 0x50], 0x531
lea r13, str.__SetGUIDEntry_
mov qword [rbp - 0x48], r13
lea r12, [0x1402a214c]
mov qword [rbp - 0x40], r12
mov dword [rbp - 0x38], 3
lea rdx, str.ENTER__s
lea rcx, [rbp - 0x58]
call fcn.140008d50
nop
lea rcx, [0x1416b9c48]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
test rsi, rsi
jne 0x14003b9e3
mov dword [rsp + 0x38], 0x536
xor edi, edi
mov ebx, 0x80004003
mov r8d, ebx
jmp 0x14003ba0b
mov dword [rsp + 0x58], 1
lea rdx, [rsp + 0x58]
mov rcx, rsi
call fcn.14003bc80
mov ebx, eax
xor edi, edi
test eax, eax
jns 0x14003ba34
mov dword [rsp + 0x38], 0x539
mov r8d, eax
mov dword [rsp + 0x50], edi
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x30], r15
lea rdx, str.Error_Code:_0x_x
lea rcx, [rsp + 0x30]
call fcn.140008d50
jmp 0x14003bc31
cmp dword [rsp + 0x58], r14d
je 0x14003bc14
lea rcx, [0x1416b9c48]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov dword [rsp + 0x60], r14d
lea r8, str.SetTPSRegGUIDEntryValue
mov qword [rsp + 0x70], r8
mov qword [rsp + 0x78], r15
mov dword [rbp - 0x80], 0x570
lea r14, str.__SetTPSRegGUIDEntryValue_
mov qword [rbp - 0x78], r14
mov qword [rbp - 0x70], r12
mov dword [rbp - 0x68], 3
lea rdx, str.ENTER__s
lea rcx, [rsp + 0x78]
call fcn.140008d50
nop
xor eax, eax
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x10], rax
mov qword [rbp - 8], rax
mov qword [rbp], rax
mov qword [rbp + 8], rax
mov qword [rbp + 0x10], rax
mov qword [rbp + 0x18], rax
mov qword [rbp + 0x20], rax
mov word [rbp + 0x28], ax
lea rdx, [rbp - 0x20]
mov rcx, rsi
call fcn.14003af40
mov ebx, eax
test eax, eax
jns 0x14003bb01
mov dword [rsp + 0x38], 0x57b
mov r8d, eax
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x50], edi
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x40], r14
lea rdx, str.Error_Code:_0x_x
lea rcx, [rsp + 0x30]
call fcn.140008d50
jmp 0x14003bbb8
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0x30]
call fcn.1401f5d40
lea r9, [rbp - 0x20]
lea r8, str.SOFTWAREDynabookeco_UtilityParameter
lea rdx, str._s_s
lea rcx, [rbp + 0x30]
call qword [sym.imp.USER32.dll_wsprintfW]
mov qword [rsp + 0x68], rdi
lea rax, [rsp + 0x68]
mov qword [rsp + 0x20], rax
mov r9d, 0x20006
xor r8d, r8d
lea rdx, [rbp + 0x30]
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x14003bb70
mov dword [rsp + 0x38], 0x584
mov ebx, 0x80004005
mov r8d, ebx
jmp 0x14003bad8
mov dword [rsp + 0x28], 4
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
lea rdx, str.GUIDEntry
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
je 0x14003bbb6
mov dword [rsp + 0x38], 0x589
mov ebx, 0x80004005
mov r8d, ebx
jmp 0x14003bad8
mov ebx, edi
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x14003bbc9
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop
mov r8, qword [rsp + 0x70]
lea rdx, str.LEAVE__s
lea rcx, [rsp + 0x78]
call fcn.140008d50
test ebx, ebx
jns 0x14003bc14
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x38], 0x53d
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x48], r12
mov dword [rsp + 0x50], edi
mov r8d, ebx
lea rdx, str.Error_Code:_0x_x
lea rcx, [rsp + 0x30]
call fcn.140008d50
jmp 0x14003bc16
mov ebx, edi
lea rcx, [0x1416b9c48]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea rcx, [0x1416b9c48]
call qword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
nop
mov r8, qword [rbp - 0x60]
lea rdx, str.LEAVE__s
lea rcx, [rbp - 0x58]
call fcn.140008d50
mov eax, ebx
mov rcx, qword [rbp + 0x240]
xor rcx, rsp
call fcn.140072680
mov rbx, qword [rsp + 0x3a0]
add rsp, 0x350
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret