Function at 0x14002f7f0
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xd0
mov rax, qword [0x1402f8c60]
xor rax, rsp
mov qword [rbp + 0x27], rax
mov r13, rdx
mov dword [rbp + 7], 0x377
mov rsi, rcx
mov dword [rbp + 0x1f], 2
lea r15, str.c:users_scddocumentsmyworkproject__dynabooksystemdriverdsd_for_tos6208_v6dsd_branch_dev_6.01.0029.xxcentennial_rs5dynabookecoservice_batmgr_batmgrinter.cpp
lea r12, str.__CBatmgrInter::NotifyProc_
mov qword [rbp - 1], r15
lea r14, [0x1402a214c]
mov qword [rbp + 0xf], r12
lea rdx, str.NotifyProc:_enter
mov qword [rbp + 0x17], r14
lea rcx, [rbp - 1]
call fcn.140008d50
mov rcx, qword [rsi + 0x10]
xor ebx, ebx
mov edx, 0xbb9
mov qword [rbp - 0x1d], rbx
mov qword [rbp - 0x15], rbx
mov qword [rbp - 0xd], rbx
mov dword [rbp - 5], ebx
mov dword [rbp - 0x35], ebx
mov dword [rbp - 0x31], 1
call qword [sym.imp.USER32.dll_KillTimer]
xor eax, eax
lea rdi, [rbp - 1]
mov ecx, SafeArrayUnaccessData
lea r8d, [rbx + 1]
rep stosb byte [rdi], al
lea rcx, [rbp - 0x39]
lea rdx, [rbp - 1]
call fcn.140034a60
mov ecx, dword [rbp - 1]
cmp ecx, 0x50
je 0x14002f8cd
mov eax, dword [rbp + 3]
cmp eax, 0x50
je 0x14002f8cd
cmp ecx, 1
je 0x14002fdb3
cmp eax, 1
jmp 0x14002f8d8
lea rcx, [rbp - 0x39]
call fcn.1400359c0
test eax, eax
je 0x14002fdb3
lea rdx, str.NotifyProc:_NotifyManagerObj.IsEcoChargingMode__
mov qword [rbp - 1], r15
lea rcx, [rbp - 1]
mov dword [rbp + 7], 0x381
mov qword [rbp + 0xf], r12
mov qword [rbp + 0x17], r14
mov dword [rbp + 0x1f], 2
call fcn.140008d50
lea rcx, [rbp - 0x51]
call fcn.1400495e0
cvttsd2si r14, qword [rbp - 0x51]
lea rax, [rbp - 0x59]
mov qword [rbp - 0x59], rbx
mov r9d, 0x20019
mov qword [rsp + 0x20], rax
xor r8d, r8d
lea rdx, [0x1402a4120]
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x14002f9c1
mov rdi, qword [rbp - 0x59]
lea rax, [rbp - 0x65]
mov qword [rsp + 0x28], rax
lea r9, [rbp - 0x69]
lea rax, [rbp - 0x61]
mov dword [rbp - 0x65], 4
xor r8d, r8d
mov qword [rsp + 0x20], rax
lea rdx, str.NotifyRemainingBattery
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14002f9b3
cmp dword [rbp - 0x69], 4
jne 0x14002f9b3
mov edx, dword [rbp - 0x61]
lea eax, [rdx - 1]
cmp eax, 0x63
ja 0x14002f9b3
test rdi, rdi
je 0x14002f99f
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov edx, dword [rbp - 0x61]
test rdi, rdi
mov dword [rbp - 0x69], edx
mov rcx, rbx
cmove rcx, rdi
test rcx, rcx
je 0x14002f9c1
jmp 0x14002f9bb
test rdi, rdi
je 0x14002f9c1
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp r14d, dword [rbp - 0x69]
jb 0x14002fdb3
lea rax, [0x1402a214c]
mov qword [rbp - 1], r15
lea rdx, str.NotifyProc:___ulCurrentPer___thresholdPer__
mov qword [rbp + 0x17], rax
lea rcx, [rbp - 1]
mov dword [rbp + 7], 0x38b
mov qword [rbp + 0xf], r12
mov dword [rbp + 0x1f], 2
call fcn.140008d50
xor ecx, ecx
mov qword [rbp - 0x49], rbx
call fcn.1402055d0
mov rdx, rax
mov rdi, rax
call fcn.14002cb80
mov qword [rbp - 0x41], rax
lea rdx, [0x1402a4120]
lea rax, [rbp - 0x59]
mov qword [rbp - 0x59], rbx
mov r9d, 0x20019
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x14002fab9
mov r14, qword [rbp - 0x59]
lea rax, [rbp - 0x69]
mov qword [rsp + 0x28], rax
lea r9, [rbp - 0x65]
lea rax, [rbp - 0x61]
mov dword [rbp - 0x69], 8
xor r8d, r8d
mov qword [rsp + 0x20], rax
lea rdx, str.NotifyLastSatisfiedDate
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14002faab
cmp dword [rbp - 0x65], 3
jne 0x14002faab
test r14, r14
je 0x14002fa90
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov r12, qword [rbp - 0x61]
test r14, r14
mov rcx, rbx
cmove rcx, r14
test rcx, rcx
je 0x14002fabd
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x14002fabd
test r14, r14
je 0x14002fab9
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov r12, qword [rbp - 0x51]
lea r8, [rbp - 0x49]
mov rdx, r12
call fcn.14002ca50
test eax, eax
mov qword [rbp - 0x59], rbx
lea rax, [rbp - 0x59]
mov r9d, 0x20019
cmove r12, rbx
mov qword [rsp + 0x20], rax
xor r8d, r8d
lea rdx, [0x1402a4120]
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x14002fb85
mov r14, qword [rbp - 0x59]
lea rax, [rbp - 0x69]
mov qword [rsp + 0x28], rax
lea r9, [rbp - 0x65]
lea rax, [rbp - 0x61]
mov dword [rbp - 0x69], 4
xor r8d, r8d
mov qword [rsp + 0x20], rax
lea rdx, str.NotifyIntervalSec
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14002fb77
cmp dword [rbp - 0x65], 4
jne 0x14002fb77
mov r15d, dword [rbp - 0x61]
lea eax, [r15 - 1]
cmp eax, 0x278cff
ja 0x14002fb77
test r14, r14
je 0x14002fb63
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov r15d, dword [rbp - 0x61]
test r14, r14
cmove rbx, r14
test rbx, rbx
je 0x14002fb89
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x14002fb89
test r14, r14
je 0x14002fb85
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov r15d, dword [rbp - 0x61]
mov eax, 0xc22e4507
mul r15d
mov eax, 0xc22e4507
shr edx, 0x10
imul ecx, edx, 0x15180
mul ecx
mov r10d, edx
shr r10d, 0x10
imul eax, r10d, 0x15180
sub r15d, eax
mov eax, 0x91a2b3c5
mul r15d
mov eax, 0x91a2b3c5
shr edx, 0xb
imul ecx, edx, 0xe10
mul ecx
mov r8d, edx
shr r8d, 0xb
imul eax, r8d, 0xfffff1f0
add r15d, eax
mov eax, 0x88888889
mul r15d
mov eax, 0x88888889
shr edx, 5
imul ecx, edx, 0x3c
mul ecx
lea rcx, [r10 + r10*2]
shr edx, 5
lea rcx, [r8 + rcx*8]
imul eax, edx, 0x3c
imul r8, rcx, 0x3c
sub r15d, eax
mov eax, edx
add r8, rax
movsxd rbx, r15d
imul rax, r8, 0x3c
add rbx, rax
mov r14d, ebx
test r12, r12
je 0x14002fceb
mov rax, qword [rbp - 0x49]
cmp rdi, rax
jle 0x14002fceb
lea rcx, [rbx + rax]
cmp rdi, rcx
jl 0x14002fd55
test r13, 0xfffffffffffffffa
jne 0x14002fcb6
cmp r13, 4
je 0x14002fcb6
mov eax, dword [rsi + 0x68]
lea rdx, [rsi + 0x68]
test eax, eax
jne 0x14002fc5c
call fcn.14002ccb0
mov eax, dword [rsi + 0x68]
mov rcx, qword [rsi + 0x10]
xor r9d, r9d
imul r8d, eax, 0x3e8
mov edx, 0xbbb
call qword [sym.imp.USER32.dll_SetTimer]
lea rax, [0x1402a214c]
mov dword [rbp + 7], 0x3a9
lea rdi, str.c:users_scddocumentsmyworkproject__dynabooksystemdriverdsd_for_tos6208_v6dsd_branch_dev_6.01.0029.xxcentennial_rs5dynabookecoservice_batmgr_batmgrinter.cpp
mov qword [rbp + 0x17], rax
lea r15, str.__CBatmgrInter::NotifyProc_
mov qword [rbp - 1], rdi
lea rdx, str.NotifyProc:_SetTimer_toast
mov qword [rbp + 0xf], r15
lea rcx, [rbp - 1]
mov dword [rbp + 0x1f], 2
call fcn.140008d50
jmp 0x14002fcf9
lea rcx, [rsi + 0x30]
mov edx, 4
call fcn.140031e10
test eax, eax
jns 0x14002fceb
cmp qword [rsi + 0x70], 0
jne 0x14002fceb
mov rcx, qword [rsi + 0x10]
xor r9d, r9d
mov edx, 0xbc2
mov r8d, 0x4e20
call qword [sym.imp.USER32.dll_SetTimer]
mov qword [rsi + 0x70], rax
lea rdi, str.c:users_scddocumentsmyworkproject__dynabooksystemdriverdsd_for_tos6208_v6dsd_branch_dev_6.01.0029.xxcentennial_rs5dynabookecoservice_batmgr_batmgrinter.cpp
lea r15, str.__CBatmgrInter::NotifyProc_
mov rdx, qword [rbp - 0x41]
lea r8, [rbp - 0x69]
call fcn.14002c1c0
lea rax, [0x1402a214c]
mov qword [rbp - 1], rdi
mov r8d, r14d
mov qword [rbp + 0x17], rax
lea rdx, str.NotifyProc:_intervalTimerSec_:__d
mov dword [rbp + 7], 0x3c3
lea rcx, [rbp - 1]
mov qword [rbp + 0xf], r15
mov dword [rbp + 0x1f], 2
call fcn.140008d50
mov rcx, qword [rsi + 0x10]
xor r9d, r9d
imul r8d, r14d, 0x3e8
mov edx, 0xbb9
call qword [sym.imp.USER32.dll_SetTimer]
jmp 0x14002fdcd
mov rcx, qword [rsi + 0x10]
sub ebx, edi
add ebx, eax
xor r9d, r9d
imul r8d, ebx, 0x3e8
mov edx, 0xbb9
call qword [sym.imp.USER32.dll_SetTimer]
lea rax, [0x1402a214c]
mov dword [rbp + 7], 0x3bb
lea rdi, str.c:users_scddocumentsmyworkproject__dynabooksystemdriverdsd_for_tos6208_v6dsd_branch_dev_6.01.0029.xxcentennial_rs5dynabookecoservice_batmgr_batmgrinter.cpp
mov qword [rbp + 0x17], rax
lea r15, str.__CBatmgrInter::NotifyProc_
mov qword [rbp - 1], rdi
lea rdx, str.NotifyProc:_SetTimer_:_TIMER_ID_TBM_NOTIFY
mov qword [rbp + 0xf], r15
lea rcx, [rbp - 1]
mov dword [rbp + 0x1f], 2
call fcn.140008d50
jmp 0x14002fdcd
mov rcx, qword [rsi + 0x10]
mov edx, 0xbb9
call qword [sym.imp.USER32.dll_KillTimer]
lea r8, [rbp - 0x69]
xor edx, edx
call fcn.14002c1c0
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.140072680
lea r11, [rsp + 0xd0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret