Function at 0x1400669f0
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r12
push r13
push r14
push r15
sub rsp, 0x210
mov rax, qword [0x1400a4010]
xor rax, rsp
mov qword [rsp + 0x200], rax
xor r15d, r15d
lea esi, [r15 + 1]
movabs rdi, 0x7fffffffffffffff
movabs r14, 0x8888888888888889
movabs r12, 0x7ffffffffff0bdbe
nop dword [rax + rax]
mov ecx, 0x23
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
jne 0x140067498
mov rcx, qword [0x1400a4f70]
add rcx, 0x268
xor eax, eax
mov qword [rsp + 0xe0], rax
mov dword [rsp + 0xe8], eax
mov eax, dword [0x1400a4ebc]
mov dword [rsp + 0x50], eax
mov qword [rsp + 0x60], rcx
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x68], 0xc
lea r8, [rsp + 0x50]
mov edx, 0x45
call fcn.14004ca20
mov rax, qword [0x1400a6440]
sub rax, qword [0x1400a6438]
cmp rax, 8
jae 0x140067401
mov rax, qword [0x1400a4f90]
mov qword [rsp + 0x90], rax
lea rcx, [rax + 0x7c]
mov dword [rsp + 0x70], r15d
mov eax, dword [0x1400a4ebc]
mov dword [rsp + 0x50], eax
mov qword [rsp + 0x60], rcx
lea rax, [rsp + 0x70]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x68], 4
lea r8, [rsp + 0x50]
mov edx, 0x45
call fcn.14004ca20
mov rax, qword [0x1400a4fa8]
mov qword [rsp + 0x48], rax
xorps xmm1, xmm1
movdqu xmmword [rsp + 0xc8], xmm1
mov qword [rsp + 0xd8], r15
mov rcx, qword [0x1400a6470]
mov r8, qword [0x1400a6468]
sub rcx, r8
mov rax, r14
imul rcx
add rdx, rcx
sar rdx, 7
mov r13, rdx
shr r13, 0x3f
add r13, rdx
dec r13d
test r13d, r13d
js 0x140066f05
movsxd rax, r13d
imul r12, rax, 0xf0
lea rdx, [r12 + r8]
lea rcx, [rsp + 0x110]
call fcn.14005a170
nop
xor al, al
movzx ebx, al
mov rax, qword [rsp + 0x110]
cmp rax, 0x1000000
cmovb ebx, esi
lea rcx, [rax + 0x60]
mov qword [rsp + 0x70], r15
mov eax, dword [0x1400a4ebc]
mov dword [rsp + 0x50], eax
mov qword [rsp + 0x60], rcx
lea rax, [rsp + 0x70]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x68], 8
lea r8, [rsp + 0x50]
mov edx, 0x45
call fcn.14004ca20
movzx eax, bl
cmp qword [rsp + 0x70], 0x1000000
cmovb eax, esi
movzx r14d, al
cmp qword [rsp + 0x120], 0x1000000
cmovb r14d, esi
mov rcx, qword [rsp + 0x110]
add rcx, 0x60
mov qword [rsp + 0x70], r15
mov eax, dword [0x1400a4ebc]
mov dword [rsp + 0x50], eax
mov qword [rsp + 0x60], rcx
lea rax, [rsp + 0x70]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x68], 8
lea r8, [rsp + 0x50]
mov edx, 0x45
call fcn.14004ca20
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x70]
call fcn.140063520
mov rdi, rax
mov rax, qword [rax + 0x10]
cmp qword [rdi + 0x18], 0x10
jb 0x140066c5c
mov rdi, qword [rdi]
cmp rax, 3
jb 0x140066cc5
lea rsi, [rax + rdi]
lea r8, [rsi - 2]
sub r8, rdi
mov edx, 0x3f
mov rcx, rdi
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
je 0x140066cc0
cmp byte [rbx], 0x3f
jne 0x140066c98
cmp byte [rbx + 1], 0x3f
jne 0x140066c98
cmp byte [rbx + 2], 0x3f
jne 0x140066c98
mov eax, r15d
jmp 0x140066c9d
sbb eax, eax
or eax, 1
test eax, eax
je 0x140066d07
inc rbx
lea r8, [rsi - 2]
sub r8, rbx
mov edx, 0x3f
mov rcx, rbx
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
jne 0x140066c82
mov esi, 1
mov rbx, 0xffffffffffffffff
mov rdx, qword [rsp + 0x38]
cmp rdx, 0x10
jb 0x140066d16
inc rdx
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140066d11
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140066d11
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
sub rbx, rdi
mov esi, 1
jmp 0x140066ccc
call fcn.14006d39c
movzx r14d, r14b
cmp rbx, 0xffffffffffffffff
cmovne r14d, esi
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x110]
call fcn.140063520
mov rdi, rax
mov rax, qword [rax + 0x10]
cmp qword [rdi + 0x18], 0x10
jb 0x140066d45
mov rdi, qword [rdi]
cmp rax, 3
jb 0x140066dae
lea rsi, [rax + rdi]
lea r8, [rsi - 2]
sub r8, rdi
mov edx, 0x3f
mov rcx, rdi
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
je 0x140066dae
nop dword [rax + rax]
cmp byte [rbx], 0x3f
jne 0x140066d86
cmp byte [rbx + 1], 0x3f
jne 0x140066d86
cmp byte [rbx + 2], 0x3f
jne 0x140066d86
mov eax, r15d
jmp 0x140066d8b
sbb eax, eax
or eax, 1
test eax, eax
je 0x140066df0
inc rbx
lea r8, [rsi - 2]
sub r8, rbx
mov edx, 0x3f
mov rcx, rbx
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
jne 0x140066d70
mov rbx, 0xffffffffffffffff
mov rdx, qword [rsp + 0x68]
cmp rdx, 0x10
jb 0x140066dfa
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140066df5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140066df5
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
sub rbx, rdi
jmp 0x140066db5
call fcn.14006d39c
cmp rbx, 0xffffffffffffffff
jne 0x140066e09
test r14b, r14b
je 0x140066ea7
mov rdi, qword [0x1400a6468]
add rdi, r12
mov rsi, qword [0x1400a6470]
lea rbx, [rdi + 0xf0]
cmp rbx, rsi
je 0x140066e55
nop word [rax + rax]
mov rdx, rbx
mov rcx, rdi
call fcn.140069ff0
add rdi, 0xf0
add rbx, 0xf0
cmp rbx, rsi
jne 0x140066e30
mov rsi, qword [0x1400a6470]
mov rdx, qword [rsi - 8]
cmp rdx, 0x10
jb 0x140066e8c
mov rcx, qword [rsi - 0x20]
inc rdx
cmp rdx, 0x1000
jb 0x140066e87
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140066ee8
mov rcx, r8
call fcn.14006d39c
mov byte [rsi - 0x20], 0
mov qword [rsi - 0x10], r15
mov qword [rsi - 8], 0xf
sub qword [0x1400a6470], 0xf0
mov rdx, qword [rsp + 0x1f8]
cmp rdx, 0x10
jb 0x140066ef4
inc rdx
mov rcx, qword [rsp + 0x1e0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140066eef
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140066eef
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call fcn.14006d39c
mov r8, qword [0x1400a6468]
mov esi, 1
jmp 0x140066b5f
mov dword [0x1400a4f6c], r15d
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x90]
call fcn.140063750
nop
mov rcx, qword [rsp + 0x50]
mov r12, rcx
mov r13, qword [rsp + 0x58]
nop dword [rax]
cmp r12, r13
je 0x1400670cf
mov rbx, qword [r12]
mov qword [rsp + 0x90], rbx
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], r15
mov rsi, qword [0x1400a6468]
mov r15, qword [0x1400a6470]
cmp rsi, r15
je 0x140067076
mov rcx, r15
sub rcx, rsi
movabs rax, 0x8888888888888889
imul rcx
add rdx, rcx
sar rdx, 7
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movabs rdi, 0x111111111111111
cmp rdx, rdi
ja 0x1400674ca
imul r14, rdx, 0xf0
cmp r14, 0x1000
jb 0x140066fdd
lea rcx, [r14 + 0x27]
cmp rcx, r14
jbe 0x1400674d0
call fcn.14006d8d4
test rax, rax
je 0x140066fd6
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x140066ff1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
test r14, r14
je 0x140066fef
mov rcx, r14
call fcn.14006d8d4
mov rdi, rax
jmp 0x140066ff1
xor edi, edi
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x28], rdi
lea rax, [rdi + r14]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x20]
mov qword [rsp + 0x70], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0xb0], xmm0
mov qword [rsp + 0xb0], rdi
mov qword [rsp + 0xb8], rdi
lea rax, [rsp + 0x20]
mov qword [rsp + 0xc0], rax
cmp rsi, r15
je 0x14006705e
mov rdx, rsi
mov rcx, rdi
call fcn.14005a170
add rdi, 0xf0
mov qword [rsp + 0xb8], rdi
add rsi, 0xf0
jmp 0x140067036
mov qword [rsp + 0xb0], rdi
mov rdx, rdi
mov rcx, rdi
call fcn.14006a780
mov qword [rsp + 0x28], rdi
mov rdx, rbx
lea rcx, [rsp + 0x20]
call fcn.140065e70
test al, al
jne 0x1400670be
mov rdx, qword [0x1400a6440]
cmp rdx, qword [0x1400a6448]
je 0x1400670a4
mov qword [rdx], rbx
add qword [0x1400a6440], 8
jmp 0x1400670b8
lea r8, [rsp + 0x90]
lea rcx, [0x1400a6438]
call fcn.140069b30
inc dword [0x1400a4f6c]
add r12, 8
mov rcx, qword [rsp + 0x50]
xor r15d, r15d
jmp 0x140066f30
test rcx, rcx
je 0x140067115
mov rax, qword [rsp + 0x60]
sub rax, rcx
sar rax, 3
lea rdx, [rax*8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140067110
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140067110
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14006d39c
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x68], 0xf
mov r8d, 5
lea rdx, str.Roots
lea rcx, [rsp + 0x50]
call fcn.14004c400
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x48]
call fcn.1400638f0
cmp qword [rsp + 0x40], 0x1000000
jbe 0x14006733f
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x98], xmm0
mov qword [rsp + 0xa8], rax
lea rdx, [rsp + 0x98]
lea rcx, [rsp + 0x40]
call fcn.140063750
nop
mov rdi, qword [rsp + 0xa0]
mov rax, rdi
mov r8, qword [rsp + 0x98]
sub rax, r8
sar rax, 3
test rax, rax
je 0x1400672d8
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x78], xmm1
mov rdx, r15
mov qword [rsp + 0x88], rdx
mov rbx, r8
mov rcx, qword [rsp + 0x80]
nop dword [rax]
cmp rbx, rdi
je 0x14006723e
inc dword [0x1400a4f6c]
cmp rcx, rdx
je 0x140067210
mov rax, qword [rbx]
mov qword [rcx], rax
mov rcx, qword [rsp + 0x80]
add rcx, 8
mov qword [rsp + 0x80], rcx
add rbx, 8
mov r8, qword [rsp + 0x98]
mov rdx, qword [rsp + 0x88]
jmp 0x1400671d0
mov r8, rbx
mov rdx, rcx
lea rcx, [rsp + 0x78]
call fcn.140069b30
mov rcx, qword [rsp + 0x80]
add rbx, 8
mov r8, qword [rsp + 0x98]
mov rdx, qword [rsp + 0x88]
jmp 0x1400671d0
mov r9, qword [0x1400a6480]
mov rax, qword [rsp + 0x78]
mov qword [0x1400a6480], rax
mov qword [rsp + 0x78], r9
mov rax, qword [0x1400a6488]
mov qword [0x1400a6488], rcx
mov qword [rsp + 0x80], rax
mov rax, qword [0x1400a6490]
mov qword [0x1400a6490], rdx
mov qword [rsp + 0x88], rax
test r9, r9
je 0x1400672d8
sub rax, r9
sar rax, 3
lea rdx, [rax*8]
cmp rdx, 0x1000
jb 0x1400672b7
add rdx, 0x27
mov rcx, qword [r9 - 8]
sub r9, rcx
lea rax, [r9 - 8]
cmp rax, 0x1f
ja 0x14006731c
mov r9, rcx
mov rcx, r9
call fcn.14006d39c
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x78], xmm0
mov qword [rsp + 0x88], r15
mov r8, qword [rsp + 0x98]
test r8, r8
je 0x14006733f
mov rax, qword [rsp + 0xa8]
sub rax, r8
sar rax, 3
lea rdx, [rax*8]
mov rax, r8
cmp rdx, 0x1000
jb 0x140067323
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140067323
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov rcx, r8
call fcn.14006d39c
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x98], xmm0
mov qword [rsp + 0xa8], r15
mov rcx, qword [0x1400a6470]
sub rcx, qword [0x1400a6468]
movabs r14, 0x8888888888888889
mov rax, r14
imul rcx
add rdx, rcx
sar rdx, 7
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov rax, qword [0x1400a6488]
sub rax, qword [0x1400a6480]
sar rax, 3
add eax, edx
mov dword [0x1400a4f98], eax
mov rcx, qword [rsp + 0xc8]
test rcx, rcx
je 0x1400673e8
mov rax, r15
sub rax, rcx
sar rax, 3
lea rdx, [rax*8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400673cf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400673cf
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14006d39c
xorps xmm0, xmm0
movdqu xmmword [rsp + 0xc8], xmm0
mov qword [rsp + 0xd8], r15
movabs r12, 0x7ffffffffff0bdbe
movabs rdi, 0x7fffffffffffffff
mov esi, 1
jmp 0x140067429
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x140067447
imul rax, rax, 0x64
jmp 0x140067465
cqo
idiv rbx
mov rcx, rax
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
imul rcx, rcx, 0x3b9aca00
add rax, rcx
cmp rax, r12
jg 0x140067484
add rax, 0xf4240
mov qword [rsp + 0x70], rax
lea rcx, [rsp + 0x70]
call fcn.1400594d0
jmp 0x140066a50
mov qword [rsp + 0x70], rdi
lea rcx, [rsp + 0x70]
call fcn.1400594d0
jmp 0x140066a50
mov rcx, qword [rsp + 0x200]
xor rcx, rsp
call fcn.14006d200
lea r11, [rsp + 0x210]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop r13
ret
call fcn.14004bfd0
nop
call fcn.14004bfd0
int3