Function at 0x140008920
Capabilities:
Check for time delay via queryperformancecounter

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x120
movaps xmmword [rsp + 0x110], xmm6
mov rax, qword [0x1400c9040]
xor rax, rsp
mov qword [rsp + 0x108], rax
mov r14, rcx
mov qword [rsp + 0x40], rcx
xor esi, esi
mov dword [rsp + 0x38], esi
mov r15, qword [rcx]
mov qword [rsp + 0x30], rsi
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x30]
mov qword [r15 + 0x30], rax
movsd xmm4, qword [r15 + 0x58]
movsd xmm3, qword [r15 + 0x60]
movsd xmm2, qword [r15 + 0x68]
lea r8, [r14 + 0x40]
mov qword [rsp + 0x30], r8
mov rax, qword [r14 + 8]
mov ecx, dword [rax]
test rcx, 0xfff
jne 0x140008a59
mov rdi, qword [r14 + 0x20]
movsd xmm0, qword [rdi + 8]
mov r9, qword [r14 + 0x10]
mov rbx, qword [r14 + 0x18]
mov rax, qword [rbx]
add rax, rax
movsd qword [r9 + rax*8], xmm0
mov r11, qword [r14 + 0x30]
movsd xmm0, qword [r11 + 8]
mov rdx, qword [r14 + 0x28]
mov rax, qword [rbx]
add rax, rax
movsd qword [rdx + rax*8], xmm0
mov r10, qword [r8]
movsd xmm1, qword [r10 + 8]
mov r8, qword [r14 + 0x38]
mov rax, qword [rbx]
add rax, rax
movsd qword [r8 + rax*8], xmm1
mov rcx, qword [rdi + 0x10]
mov rax, qword [rbx]
add rax, rax
mov qword [r9 + rax*8 + 8], rcx
mov rcx, qword [r11 + 0x10]
mov rax, qword [rbx]
add rax, rax
mov qword [rdx + rax*8 + 8], rcx
mov rdx, qword [r10 + 0x10]
mov rax, qword [rbx]
add rax, rax
mov qword [r8 + rax*8 + 8], rdx
mov rdx, qword [rbx]
inc rdx
mov qword [rbx], rdx
mov rax, qword [r14 + 0x48]
cmp rdx, qword [rax]
cmovae rdx, rsi
mov qword [rbx], rdx
mov rcx, rdi
call fcn.140009160
mov rcx, r11
call fcn.140009160
mov rcx, r10
call fcn.140009160
jmp 0x140008a5e
mov qword [rsp + 0x30], r8
movsd xmm1, qword [r15 + 0x70]
mov rcx, qword [r14 + 0x20]
call fcn.1400091d0
movaps xmm1, xmm3
subsd xmm1, xmm4
mov rcx, qword [r14 + 0x30]
call fcn.1400091d0
subsd xmm2, xmm3
movaps xmm1, xmm2
mov rcx, qword [rsp + 0x30]
mov rcx, qword [rcx]
call fcn.1400091d0
mov rax, qword [r15 + 0x28]
mov qword [r15 + 0x20], rax
mov qword [rsp + 0x30], rsi
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x30]
mov qword [r15 + 0x28], rax
sub rax, qword [r15 + 0x20]
movabs rcx, 0x7fffffffffffffff
and rax, rcx
xorps xmm1, xmm1
js 0x140008acf
cvtsi2sd xmm1, rax
jmp 0x140008ae4
mov rcx, rax
shr rcx, 1
and eax, 1
or rcx, rax
cvtsi2sd xmm1, rcx
addsd xmm1, xmm1
mulsd xmm1, qword [r15 + 8]
movsd qword [rsp + 0x50], xmm1
mov rdi, qword [r14 + 0x50]
mov r8, rsi
mov rax, qword [rdi + 0x40]
test rax, rax
je 0x140008b3e
mov rcx, rsi
mov rdx, rsi
nop word [rax + rax]
mov rax, qword [rdi + 0x50]
movsd xmm0, qword [rax + rdx]
addsd xmm0, xmm1
movsd qword [rcx + rax], xmm0
inc r8
mov rax, qword [rdi + 0x40]
add rcx, 8
add rdx, 8
cmp r8, rax
jae 0x140008b3e
movsd xmm1, qword [rsp + 0x50]
jmp 0x140008b10
mov rbx, rsi
test rax, rax
je 0x140008b8d
mov r15, rsi
nop dword [rax]
mov rcx, qword [rdi + 0x50]
mov rax, qword [rdi + 0x48]
movsd xmm0, qword [rax + rbx*8]
comisd xmm0, xmmword [rcx + rbx*8]
jae 0x140008b80
mov qword [rcx + rbx*8], rsi
mov rax, qword [rdi + 0x58]
mov rcx, qword [r15 + rax + 0x38]
test rcx, rcx
je 0x1400090eb
mov rax, qword [rcx]
call qword [rax + 0x10]
inc rbx
add r15, 0x40
cmp rbx, qword [rdi + 0x40]
jb 0x140008b50
mov rbx, qword [r14 + 0x58]
cmp byte [rbx + 1], sil
je 0x140008c2b
mov eax, 0x40
mov ecx, 0x80
cmp byte [rbx], sil
cmove eax, ecx
mov rcx, qword [rax + rbx]
test rcx, rcx
je 0x1400090eb
mov rax, qword [rcx]
call qword [rax + 0x10]
mov byte [rbx + 1], sil
mov rcx, qword [r14 + 0x60]
call fcn.140033ad0
mov rax, qword [r14 + 8]
test byte [rax], 0x3f
jne 0x140008faa
mov rax, qword [r14 + 0x68]
lea rcx, str.AC_Line
lea r15, str.Battery
cmp byte [rax], sil
cmovne r15, rcx
movzx ebx, byte [rax + 8]
xorps xmm0, xmm0
xorps xmm1, xmm1
cmp bl, 0xff
jne 0x140008c40
movups xmmword [rsp + 0x68], xmm0
movdqu xmmword [rsp + 0x78], xmm1
mov ebx, 1
mov r8d, ebx
lea rdx, [0x1400b0b78]
lea rcx, [rsp + 0x68]
call fcn.14000b3f0
lea rax, [rsp + 0x68]
jmp 0x140008c93
mov rcx, qword [rbx + 0xc0]
test rcx, rcx
je 0x1400090eb
jmp 0x140008bb8
movups xmmword [rsp + 0xa8], xmm0
movdqu xmmword [rsp + 0xb8], xmm1
mov r8d, 4
lea rdx, str._03u
lea rcx, [rsp + 0xa8]
call fcn.14000b3f0
nop
mov dword [rsp + 0x38], 2
movzx r8d, bl
lea rdx, [rsp + 0xa8]
lea rcx, [rsp + 0xe8]
call fcn.1400088b0
nop
mov ebx, 6
mov dword [rsp + 0x38], ebx
xorps xmm0, xmm0
movups xmmword [rsp + 0x88], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x98], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x88], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x98], xmm1
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], 7
mov word [rax], si
test bl, 4
je 0x140008d43
and ebx, 0xfffffffb
mov dword [rsp + 0x38], ebx
mov rdx, qword [rsp + 0x100]
cmp rdx, 7
jbe 0x140008d28
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0xe8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140008d23
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400090f1
call fcn.14004dce0
movdqa xmm6, xmmword [0x1400b4010]
movdqu xmmword [rsp + 0xf8], xmm6
mov word [rsp + 0xe8], si
jmp 0x140008d4b
movdqa xmm6, xmmword [0x1400b4010]
test bl, 2
je 0x140008db0
and ebx, 0xfffffffd
mov dword [rsp + 0x38], ebx
mov rdx, qword [rsp + 0xc0]
cmp rdx, 7
jbe 0x140008d9f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0xa8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140008d9a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400090f7
call fcn.14004dce0
movdqu xmmword [rsp + 0xb8], xmm6
mov word [rsp + 0xa8], si
test bl, 1
je 0x140008e0c
and ebx, 0xfffffffe
mov dword [rsp + 0x38], ebx
mov rdx, qword [rsp + 0x80]
cmp rdx, 7
jbe 0x140008e01
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140008dfc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400090fd
call fcn.14004dce0
movdqu xmmword [rsp + 0x78], xmm6
mov word [rsp + 0x68], si
mov rax, qword [r14 + 8]
mov rbx, qword [rax]
lea rdi, [rsp + 0x88]
cmp qword [rsp + 0xa0], 7
cmova rdi, qword [rsp + 0x88]
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x78], xmm1
mov r8d, 0x1d
lea rdx, str.Power:_s__s___Tick:__010llu_
lea rcx, [rsp + 0x68]
call fcn.14000b3f0
nop
mov qword [rsp + 0x20], rbx
mov r9, rdi
mov r8, r15
lea rdx, [rsp + 0x68]
lea rcx, [rsp + 0xc8]
call fcn.1400088e0
nop
mov rdx, qword [rsp + 0x80]
cmp rdx, 7
jbe 0x140008eb9
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140008eb4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140009103
call fcn.14004dce0
movdqu xmmword [rsp + 0x78], xmm6
mov word [rsp + 0x68], si
mov rax, qword [r14 + 0x70]
mov rax, qword [rax]
lea rdx, [rsp + 0xc8]
cmp qword [rsp + 0xe0], 7
cmova rdx, qword [rsp + 0xc8]
mov rax, qword [rax + 8]
mov rcx, qword [rax + 0x18]
mov rcx, qword [rcx + 0x18]
call qword [sym.imp.USER32.dll_SetWindowTextW]
nop
mov rdx, qword [rsp + 0xe0]
cmp rdx, 7
jbe 0x140008f40
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0xc8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140008f3b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140009109
call fcn.14004dce0
movdqu xmmword [rsp + 0xd8], xmm6
mov word [rsp + 0xc8], si
mov rdx, qword [rsp + 0xa0]
cmp rdx, 7
jbe 0x140008f99
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x88]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140008f94
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000910f
call fcn.14004dce0
movdqu xmmword [rsp + 0x98], xmm6
mov word [rsp + 0x88], si
mov rbx, qword [r14]
mov qword [rsp + 0x30], rsi
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x30]
mov qword [rbx + 0x38], rax
mov rbx, qword [r14 + 0x78]
mov rcx, qword [rbx]
add rcx, 0x48
lea rdx, [rsp + 0x50]
call fcn.14000aaa0
mov rcx, qword [rbx]
add rcx, 0x88
mov rax, qword [r14 + 0x80]
mov qword [rsp + 0x30], rax
lea rdx, [rsp + 0x30]
call fcn.14000aaa0
mov rcx, qword [rbx]
add rcx, 0xc8
mov rax, qword [r14 + 0x88]
mov qword [rsp + 0x58], rax
lea rdx, [rsp + 0x58]
call fcn.14000aaa0
mov rcx, qword [rbx]
add rcx, 0x108
mov rax, qword [r14 + 0x90]
mov qword [rsp + 0x60], rax
lea rdx, [rsp + 0x60]
call fcn.14000aaa0
mov rbx, qword [r14 + 0x98]
mov rcx, qword [rbx]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbx]
mov rax, qword [rcx]
call qword [rax + 0x18]
nop
jmp 0x14000905e
mov rbx, qword [r14]
mov qword [rsp + 0x30], rsi
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x30]
mov qword [rbx + 0x40], rax
mov rbx, qword [r14 + 0xa8]
mov rcx, qword [rbx]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbx]
mov rax, qword [rcx]
call qword [rax + 0x18]
nop
jmp 0x14000909d
mov qword [rsp + 0x30], rsi
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rcx, qword [r14]
mov rax, qword [rsp + 0x30]
mov qword [rcx + 0x48], rax
mov rcx, qword [rsp + 0x108]
xor rcx, rsp
call fcn.14004dcc0
lea r11, [rsp + 0x120]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
call fcn.14004f3d0
nop
call fcn.1400599e0
nop
call fcn.1400599e0
nop
call fcn.1400599e0
nop
call fcn.1400599e0
nop
call fcn.1400599e0
nop
call fcn.1400599e0
int3