Function at 0x14005def0
Capabilities:
Set registry value

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
sub rsp, 0xb0
mov rdi, rcx
lea rax, str.QueryPowerPipeHandler::SavePowerSaveSetting
lea rbp, str.__QueryPowerPipeHandler::SavePowerSaveSetting_
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x28], rbp
lea r9, [0x1402a214c]
mov r8d, 0x3ed
mov dword [rsp + 0x20], 3
lea rdx, str.c:users_scddocumentsmyworkproject__dynabooksystemdriverdsd_for_tos6208_v6dsd_branch_dev_6.01.0029.xxcentennial_rs5dynabookecoservice_tospowerquerypowerpipehandler.cpp
lea rcx, [rsp + 0x80]
call fcn.140008c40
mov r8, qword [rsp + 0x78]
lea rdx, str.ENTER__s
lea rcx, [rsp + 0x80]
call fcn.140008d50
xor ebx, ebx
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x40], rax
lea rdx, [0x1402327b8]
lea rax, [rsp + 0xe8]
mov qword [rsp + 0xe8], rbx
mov qword [rsp + 0x38], rax
xor r9d, r9d
mov qword [rsp + 0x30], rbx
xor r8d, r8d
mov dword [rsp + 0x28], 0x2001f
mov rcx, 0xffffffff80000002
mov dword [rsp + 0x20], ebx
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
mov esi, eax
test eax, eax
jne 0x14005e145
movsd xmm0, qword [rdi + 0x90]
lea r9d, [rsi + 4]
mulsd xmm0, qword [0x140235360]
lea rdx, str.EcoModeSavePerSec
mov rbx, qword [rsp + 0xe8]
xor r8d, r8d
mov dword [rsp + 0x28], 4
mov rcx, rbx
cvttsd2si rax, xmm0
mov dword [rsp + 0xd8], eax
lea rax, [rsp + 0xd8]
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov esi, eax
test eax, eax
je 0x14005e042
mov r8d, 0x3f8
mov qword [rsp + 0x28], rbp
lea r9, [0x1402a214c]
lea rdx, str.c:users_scddocumentsmyworkproject__dynabooksystemdriverdsd_for_tos6208_v6dsd_branch_dev_6.01.0029.xxcentennial_rs5dynabookecoservice_tospowerquerypowerpipehandler.cpp
lea rcx, [rsp + 0x50]
mov dword [rsp + 0x20], 2
call fcn.140008c40
lea rdx, str.CRegKey::SetDWORDValue_failed__d
jmp 0x14005e177
movsd xmm1, qword [rdi + 0x98]
xorps xmm0, xmm0
comisd xmm1, xmm0
jbe 0x14005e0a6
mulsd xmm1, qword [0x140235360]
lea rdx, str.LastEcoModeSavePerSec
mov dword [rsp + 0x28], 4
mov r9d, 4
xor r8d, r8d
mov rcx, rbx
cvttsd2si rax, xmm1
mov dword [rsp + 0xd8], eax
lea rax, [rsp + 0xd8]
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov esi, eax
test eax, eax
je 0x14005e0a6
mov r8d, 0x400
jmp 0x14005e011
mov eax, dword [rdi + 0xa8]
lea rdx, str.EcoModeSaveDataCount
mov dword [rsp + 0xd8], eax
mov r9d, 4
lea rax, [rsp + 0xd8]
mov dword [rsp + 0x28], 4
xor r8d, r8d
mov qword [rsp + 0x20], rax
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov qword [rsp + 0x28], rbp
lea r9, [0x1402a214c]
lea rdx, str.c:users_scddocumentsmyworkproject__dynabooksystemdriverdsd_for_tos6208_v6dsd_branch_dev_6.01.0029.xxcentennial_rs5dynabookecoservice_tospowerquerypowerpipehandler.cpp
mov esi, eax
lea rcx, [rsp + 0x50]
test eax, eax
je 0x14005e10a
mov r8d, 0x407
jmp 0x14005e029
mov r8d, 0x40a
mov dword [rsp + 0x20], 3
call fcn.140008c40
movsd xmm2, qword [rdi + 0x90]
lea rdx, str.SavePowerSaveSetting:_EcoModeSavePerSecond__f__DataCount__d
mov r9d, dword [rdi + 0xa8]
movq r8, xmm2
mov rcx, rax
call fcn.140008d50
mov dil, 1
jmp 0x14005e185
mov qword [rsp + 0x28], rbp
lea r9, [0x1402a214c]
mov r8d, 0x3f1
mov dword [rsp + 0x20], 2
lea rdx, str.c:users_scddocumentsmyworkproject__dynabooksystemdriverdsd_for_tos6208_v6dsd_branch_dev_6.01.0029.xxcentennial_rs5dynabookecoservice_tospowerquerypowerpipehandler.cpp
lea rcx, [rsp + 0x50]
call fcn.140008c40
lea rdx, str.CRegKey::Create_failed__d
mov r8d, esi
mov rcx, rax
call fcn.140008d50
xor dil, dil
test rbx, rbx
je 0x14005e193
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov r8, qword [rsp + 0x78]
lea rdx, str.LEAVE__s
lea rcx, [rsp + 0x80]
call fcn.140008d50
mov rbx, qword [rsp + 0xd0]
movzx eax, dil
add rsp, 0xb0
pop rdi
pop rsi
pop rbp
ret