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

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
lea rbp, [rsp - 0x37]
sub rsp, 0xf0
mov rax, qword [0x1402f8c60]
xor rax, rsp
mov qword [rbp + 0x27], rax
xor esi, esi
mov dword [rbp - 0x31], 1
mov qword [rbp - 0x1d], rsi
mov r12, rdx
mov qword [rbp - 0x15], rsi
mov r13, rcx
mov qword [rbp - 0xd], rsi
mov dword [rbp - 5], esi
mov dword [rbp - 0x35], esi
call fcn.140030e40
test eax, eax
jne 0x140030015
lea rax, [rbp - 0x69]
mov qword [rbp - 0x59], rsi
mov qword [rsp + 0x40], rax
lea rdx, [0x1402a4120]
lea rax, [rbp - 0x51]
mov qword [rbp - 0x51], rsi
mov qword [rsp + 0x38], rax
xor r9d, r9d
mov qword [rsp + 0x30], rsi
xor r8d, r8d
mov dword [rsp + 0x28], 0x20006
mov rcx, 0xffffffff80000002
mov dword [rsp + 0x20], esi
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x14002fed3
mov rdi, qword [rbp - 0x51]
lea rax, [rbp - 0x59]
mov rcx, rdi
mov dword [rsp + 0x28], 8
lea r9d, [rsi + 3]
mov qword [rsp + 0x20], rax
xor r8d, r8d
lea rdx, str.AutoSetBatteryLast3Date
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test rdi, rdi
je 0x14002fed3
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea rax, [rbp - 0x69]
mov qword [rbp - 0x59], rsi
mov qword [rsp + 0x40], rax
lea rdx, [0x1402a4120]
lea rax, [rbp - 0x51]
mov qword [rbp - 0x51], rsi
mov qword [rsp + 0x38], rax
xor r9d, r9d
mov qword [rsp + 0x30], rsi
xor r8d, r8d
mov dword [rsp + 0x28], 0x20006
mov rcx, 0xffffffff80000002
mov dword [rsp + 0x20], esi
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x14002ff58
mov rdi, qword [rbp - 0x51]
lea rax, [rbp - 0x59]
mov rcx, rdi
mov dword [rsp + 0x28], 8
mov r9d, 3
mov qword [rsp + 0x20], rax
xor r8d, r8d
lea rdx, str.AutoSetBatteryLast2Date
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test rdi, rdi
je 0x14002ff58
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea rax, [rbp - 0x69]
mov qword [rbp - 0x59], rsi
mov qword [rsp + 0x40], rax
lea rdx, [0x1402a4120]
lea rax, [rbp - 0x51]
mov qword [rbp - 0x51], rsi
mov qword [rsp + 0x38], rax
xor r9d, r9d
mov qword [rsp + 0x30], rsi
xor r8d, r8d
mov dword [rsp + 0x28], 0x20006
mov rcx, 0xffffffff80000002
mov dword [rsp + 0x20], esi
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x140030012
mov rdi, qword [rbp - 0x51]
lea rax, [rbp - 0x59]
mov rcx, rdi
mov dword [rsp + 0x28], 8
mov r9d, 3
mov qword [rsp + 0x20], rax
xor r8d, r8d
lea rdx, str.AutoSetBatteryLastDate
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
je 0x14002fffb
test rdi, rdi
je 0x14002ffe1
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test rdi, rdi
mov dword [rbp - 0x61], esi
mov rcx, rsi
cmove rcx, rdi
test rcx, rcx
je 0x140030015
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x140030015
test rdi, rdi
je 0x140030009
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [rbp - 0x61], 1
jmp 0x140030015
mov dword [rbp - 0x61], esi
xor eax, eax
lea rdi, [rbp - 1]
mov ecx, SafeArrayUnaccessData
lea rdx, [rbp - 1]
rep stosb byte [rdi], al
lea r8d, [rax + 1]
lea rcx, [rbp - 0x39]
call fcn.140034a60
mov ecx, dword [rbp - 1]
cmp ecx, 0x50
je 0x14003027d
mov eax, dword [rbp + 3]
cmp eax, 0x50
je 0x14003027d
cmp ecx, 1
je 0x14003028e
cmp eax, 1
je 0x14003028e
lea rax, [rbp - 0x51]
mov qword [rbp - 0x59], rsi
mov qword [rsp + 0x40], rax
lea rdx, [0x1402a4120]
lea rax, [rbp - 0x59]
xor r9d, r9d
mov qword [rsp + 0x38], rax
xor r8d, r8d
mov qword [rsp + 0x30], rsi
mov rcx, 0xffffffff80000002
mov dword [rsp + 0x28], 0x20006
mov dword [rsp + 0x20], esi
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x1400300e1
mov rdi, qword [rbp - 0x59]
lea rax, [rbp - 0x69]
mov rcx, rdi
mov dword [rsp + 0x28], 4
mov r9d, 4
mov dword [rbp - 0x69], esi
xor r8d, r8d
mov qword [rsp + 0x20], rax
lea rdx, str.AutoSetBatterySatisfied
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test rdi, rdi
je 0x1400300e1
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea rax, [rbp - 0x69]
mov qword [rbp - 0x41], rsi
mov qword [rsp + 0x40], rax
lea rdx, [0x1402a4120]
lea rax, [rbp - 0x59]
mov qword [rbp - 0x59], rsi
mov qword [rsp + 0x38], rax
xor r9d, r9d
mov qword [rsp + 0x30], rsi
xor r8d, r8d
mov dword [rsp + 0x28], 0x20006
mov rcx, 0xffffffff80000002
mov dword [rsp + 0x20], esi
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x140030166
mov rdi, qword [rbp - 0x59]
lea rax, [rbp - 0x41]
mov rcx, rdi
mov dword [rsp + 0x28], 8
mov r9d, 3
mov qword [rsp + 0x20], rax
xor r8d, r8d
lea rdx, str.AutoSetBatteryLast3Date
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test rdi, rdi
je 0x140030166
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea rax, [rbp - 0x69]
mov qword [rbp - 0x41], rsi
mov qword [rsp + 0x40], rax
lea rdx, [0x1402a4120]
lea rax, [rbp - 0x59]
mov qword [rbp - 0x59], rsi
mov qword [rsp + 0x38], rax
xor r9d, r9d
mov qword [rsp + 0x30], rsi
xor r8d, r8d
mov dword [rsp + 0x28], 0x20006
mov rcx, 0xffffffff80000002
mov dword [rsp + 0x20], esi
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x1400301eb
mov rdi, qword [rbp - 0x59]
lea rax, [rbp - 0x41]
mov rcx, rdi
mov dword [rsp + 0x28], 8
mov r9d, 3
mov qword [rsp + 0x20], rax
xor r8d, r8d
lea rdx, str.AutoSetBatteryLast2Date
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test rdi, rdi
je 0x1400301eb
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea rax, [rbp - 0x69]
mov qword [rbp - 0x41], rsi
mov qword [rsp + 0x40], rax
lea rdx, [0x1402a4120]
lea rax, [rbp - 0x59]
mov qword [rbp - 0x59], rsi
mov qword [rsp + 0x38], rax
xor r9d, r9d
mov qword [rsp + 0x30], rsi
xor r8d, r8d
mov dword [rsp + 0x28], 0x20006
mov rcx, 0xffffffff80000002
mov dword [rsp + 0x20], esi
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x140030493
mov rdi, qword [rbp - 0x59]
lea rax, [rbp - 0x41]
mov rcx, rdi
mov dword [rsp + 0x28], 8
mov r9d, 3
mov qword [rsp + 0x20], rax
xor r8d, r8d
lea rdx, str.AutoSetBatteryLastDate
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test rdi, rdi
je 0x140030493
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x140030493
lea rcx, [rbp - 0x39]
call fcn.1400359c0
test eax, eax
jne 0x14003005d
lea rax, [rbp - 0x49]
mov qword [rbp - 0x49], rsi
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 0x140030493
mov rdi, qword [rbp - 0x49]
lea rax, [rbp - 0x5d]
mov qword [rsp + 0x28], rax
lea r9, [rbp - 0x51]
lea rax, [rbp - 0x69]
mov dword [rbp - 0x5d], 4
xor r8d, r8d
mov qword [rsp + 0x20], rax
lea rdx, str.AutoSetBatterySatisfied
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x140030266
cmp dword [rbp - 0x51], 4
jne 0x140030266
mov qword [rsp + 0x128], rbx
mov qword [rsp + 0x130], r14
mov qword [rsp + 0x138], r15
test rdi, rdi
je 0x14003032c
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ebx, dword [rbp - 0x69]
test rdi, rdi
mov rcx, rsi
cmove rcx, rdi
test rcx, rcx
je 0x140030344
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea rcx, [rbp - 0x41]
call fcn.1400495e0
cvttsd2si r15, qword [rbp - 0x41]
xor ecx, ecx
mov qword [rbp - 0x59], rsi
call fcn.1402055d0
mov rdx, rax
mov rdi, rax
call fcn.14002cb80
mov r14, rax
mov qword [rbp - 0x49], rsi
lea rax, [rbp - 0x49]
mov r9d, 0x20019
xor r8d, r8d
mov qword [rsp + 0x20], rax
lea rdx, [0x1402a4120]
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test ebx, ebx
jne 0x1400304ae
test eax, eax
jne 0x14003047b
mov rdi, qword [rbp - 0x49]
lea rax, [rbp - 0x69]
mov qword [rsp + 0x28], rax
lea r9, [rbp - 0x51]
lea rax, [rbp - 0x5d]
mov dword [rbp - 0x69], 4
xor r8d, r8d
mov qword [rsp + 0x20], rax
lea rdx, str.AutoSetRemainingBatteryHigh
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14003046d
cmp dword [rbp - 0x51], 4
jne 0x14003046d
mov ebx, dword [rbp - 0x5d]
lea eax, [rbx - 1]
cmp eax, 0x63
ja 0x14003046d
test rdi, rdi
je 0x14003040b
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ebx, dword [rbp - 0x5d]
test rdi, rdi
cmove rsi, rdi
test rsi, rsi
je 0x14003041d
mov rcx, rsi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [r15 + 1]
cmp eax, ebx
jb 0x14003047b
lea rdx, [rbp - 0x59]
call fcn.14002c610
mov rdx, qword [rbp - 0x59]
lea r8, [rbp - 0x61]
call fcn.14002c940
lea rdx, [rbp - 0x59]
call fcn.14002c3f0
mov rdx, qword [rbp - 0x59]
lea r8, [rbp - 0x61]
call fcn.14002c720
lea r8, [rbp - 0x61]
mov rdx, r14
call fcn.14002c500
lea r8, [rbp - 0x61]
mov edx, 1
call fcn.14002c2c0
jmp 0x14003047b
test rdi, rdi
je 0x14003047b
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov r14, qword [rsp + 0x130]
mov rbx, qword [rsp + 0x128]
mov r15, qword [rsp + 0x138]
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.140072680
add rsp, 0xf0
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
test eax, eax
jne 0x14003047b
mov rbx, qword [rbp - 0x49]
lea rax, [rbp - 0x69]
mov qword [rsp + 0x28], rax
lea r9, [rbp - 0x51]
lea rax, [rbp - 0x5d]
mov dword [rbp - 0x69], 4
xor r8d, r8d
mov qword [rsp + 0x20], rax
lea rdx, str.AutoSetRemainingBatteryLow
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x140030834
cmp dword [rbp - 0x51], 4
jne 0x140030834
mov r14d, dword [rbp - 0x5d]
lea eax, [r14 - 1]
cmp eax, 0x63
ja 0x140030834
test rbx, rbx
je 0x14003051b
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov r14d, dword [rbp - 0x5d]
test rbx, rbx
mov rcx, rsi
cmove rcx, rbx
test rcx, rcx
je 0x140030530
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp r15d, r14d
ja 0x14003047b
lea r8, [rbp - 0x61]
xor edx, edx
call fcn.14002c2c0
lea rax, [rbp - 0x49]
mov qword [rbp - 0x49], rsi
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 0x1400305fa
mov rbx, qword [rbp - 0x49]
lea rax, [rbp - 0x69]
mov qword [rsp + 0x28], rax
lea r9, [rbp - 0x51]
lea rax, [rbp - 0x5d]
mov dword [rbp - 0x69], 4
xor r8d, r8d
mov qword [rsp + 0x20], rax
lea rdx, str.AutoSetIntervalSec
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x1400305ec
cmp dword [rbp - 0x51], 4
jne 0x1400305ec
mov r14d, dword [rbp - 0x5d]
lea eax, [r14 - 1]
cmp eax, 0x278cff
ja 0x1400305ec
test rbx, rbx
je 0x1400305d5
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov r14d, dword [rbp - 0x5d]
test rbx, rbx
mov rcx, rsi
cmove rcx, rbx
test rcx, rcx
je 0x1400305fe
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x1400305fe
test rbx, rbx
je 0x1400305fa
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov r14d, dword [rbp - 0x5d]
mov eax, 0xc22e4507
mul r14d
mov eax, 0xc22e4507
shr edx, 0x10
imul ecx, edx, 0x15180
mul ecx
mov r9d, edx
shr r9d, 0x10
imul eax, r9d, 0x15180
sub r14d, eax
mov eax, 0x91a2b3c5
mul r14d
mov eax, 0x91a2b3c5
shr edx, 0xb
imul ecx, edx, 0xe10
mul ecx
mov r8d, edx
shr r8d, 0xb
imul eax, r8d, 0xfffff1f0
add r14d, eax
mov eax, 0x88888889
mul r14d
mov eax, 0x88888889
shr edx, 5
imul ecx, edx, 0x3c
mul ecx
lea rcx, [r9 + r9*2]
shr edx, 5
lea rcx, [r8 + rcx*8]
imul eax, edx, 0x3c
imul r8, rcx, 0x3c
sub r14d, eax
mov eax, edx
add r8, rax
movsxd rbx, r14d
imul rax, r8, 0x3c
lea rdx, [rbp - 0x49]
add rbx, rax
call fcn.14002c830
mov rdx, qword [rbp - 0x49]
lea r8, [rbp - 0x59]
call fcn.14002ca50
test eax, eax
je 0x14003047b
mov rcx, qword [rbp - 0x59]
add rcx, rbx
cmp rdi, rcx
jg 0x14003047b
xor edx, edx
lea rcx, [r13 + 0x30]
lea r8d, [rdx + 2]
call fcn.140035130
lea rax, [rbp - 0x51]
mov qword [rbp - 0x59], rsi
mov qword [rsp + 0x40], rax
lea rdx, [0x1402a4120]
lea rax, [rbp - 0x59]
xor r9d, r9d
mov qword [rsp + 0x38], rax
xor r8d, r8d
mov qword [rsp + 0x30], rsi
mov rcx, 0xffffffff80000002
mov dword [rsp + 0x28], 0x20006
mov dword [rsp + 0x20], esi
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x14003077f
mov rdi, qword [rbp - 0x59]
lea rax, [rbp - 0x69]
mov rcx, rdi
mov dword [rsp + 0x28], 4
mov r9d, 4
mov dword [rbp - 0x69], esi
xor r8d, r8d
mov qword [rsp + 0x20], rax
lea rdx, [0x1402a3f28]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
je 0x140030768
test rdi, rdi
je 0x14003074e
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test rdi, rdi
mov dword [rbp - 0x61], esi
mov rcx, rsi
cmove rcx, rdi
test rcx, rcx
je 0x140030782
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x140030782
test rdi, rdi
je 0x140030776
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [rbp - 0x61], 1
jmp 0x140030782
mov dword [rbp - 0x61], esi
test r12, 0xfffffffffffffffa
jne 0x1400307c1
cmp r12, 4
je 0x1400307c1
mov eax, dword [r13 + 0x68]
lea rdx, [r13 + 0x68]
test eax, eax
jne 0x1400307a6
call fcn.14002ccb0
mov eax, dword [r13 + 0x68]
mov rcx, qword [r13 + 0x10]
xor r9d, r9d
imul r8d, eax, 0x3e8
mov edx, 0xbbc
call qword [sym.imp.USER32.dll_SetTimer]
jmp 0x14003080e
lea rax, str.c:users_scddocumentsmyworkproject__dynabooksystemdriverdsd_for_tos6208_v6dsd_branch_dev_6.01.0029.xxcentennial_rs5dynabookecoservice_batmgr_batmgrinter.cpp
mov dword [rbp + 7], 0x443
mov qword [rbp - 1], rax
lea rdx, str.AutoSetTaskTrayIcon_test4
lea rax, str.__CBatmgrInter::AutoSetProc_
mov dword [rbp + 0x1f], 3
mov qword [rbp + 0xf], rax
lea rcx, [rbp - 1]
lea rax, [0x1402a214c]
mov qword [rbp + 0x17], rax
call fcn.140008d50
mov edx, 5
lea rcx, [r13 + 0x30]
call fcn.140031e10
lea r8, [rbp - 0x61]
xor edx, edx
call fcn.14002c940
lea r8, [rbp - 0x61]
xor edx, edx
call fcn.14002c720
lea r8, [rbp - 0x61]
xor edx, edx
call fcn.14002c500
jmp 0x14003047b
test rbx, rbx
je 0x14003047b
mov rcx, rbx
jmp 0x140030475