Function at 0x140066210
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 0x140066cb8
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.14004bf30
mov rax, qword [0x1400a6440]
sub rax, qword [0x1400a6438]
cmp rax, 8
jae 0x140066c21
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.14004bf30
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 0x140066725
movsxd rax, r13d
imul r12, rax, 0xf0
lea rdx, [r12 + r8]
lea rcx, [rsp + 0x110]
call fcn.140059990
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.14004bf30
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.14004bf30
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x70]
call fcn.140062d40
mov rdi, rax
mov rax, qword [rax + 0x10]
cmp qword [rdi + 0x18], 0x10
jb 0x14006647c
mov rdi, qword [rdi]
cmp rax, 3
jb 0x1400664e5
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 0x1400664e0
cmp byte [rbx], 0x3f
jne 0x1400664b8
cmp byte [rbx + 1], 0x3f
jne 0x1400664b8
cmp byte [rbx + 2], 0x3f
jne 0x1400664b8
mov eax, r15d
jmp 0x1400664bd
sbb eax, eax
or eax, 1
test eax, eax
je 0x140066527
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 0x1400664a2
mov esi, 1
mov rbx, 0xffffffffffffffff
mov rdx, qword [rsp + 0x38]
cmp rdx, 0x10
jb 0x140066536
inc rdx
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140066531
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140066531
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 0x1400664ec
call fcn.14006cbbc
movzx r14d, r14b
cmp rbx, 0xffffffffffffffff
cmovne r14d, esi
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x110]
call fcn.140062d40
mov rdi, rax
mov rax, qword [rax + 0x10]
cmp qword [rdi + 0x18], 0x10
jb 0x140066565
mov rdi, qword [rdi]
cmp rax, 3
jb 0x1400665ce
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 0x1400665ce
nop dword [rax + rax]
cmp byte [rbx], 0x3f
jne 0x1400665a6
cmp byte [rbx + 1], 0x3f
jne 0x1400665a6
cmp byte [rbx + 2], 0x3f
jne 0x1400665a6
mov eax, r15d
jmp 0x1400665ab
sbb eax, eax
or eax, 1
test eax, eax
je 0x140066610
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 0x140066590
mov rbx, 0xffffffffffffffff
mov rdx, qword [rsp + 0x68]
cmp rdx, 0x10
jb 0x14006661a
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140066615
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140066615
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
sub rbx, rdi
jmp 0x1400665d5
call fcn.14006cbbc
cmp rbx, 0xffffffffffffffff
jne 0x140066629
test r14b, r14b
je 0x1400666c7
mov rdi, qword [0x1400a6468]
add rdi, r12
mov rsi, qword [0x1400a6470]
lea rbx, [rdi + 0xf0]
cmp rbx, rsi
je 0x140066675
nop word [rax + rax]
mov rdx, rbx
mov rcx, rdi
call fcn.140069810
add rdi, 0xf0
add rbx, 0xf0
cmp rbx, rsi
jne 0x140066650
mov rsi, qword [0x1400a6470]
mov rdx, qword [rsi - 8]
cmp rdx, 0x10
jb 0x1400666ac
mov rcx, qword [rsi - 0x20]
inc rdx
cmp rdx, 0x1000
jb 0x1400666a7
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140066708
mov rcx, r8
call fcn.14006cbbc
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 0x140066714
inc rdx
mov rcx, qword [rsp + 0x1e0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14006670f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14006670f
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.14006cbbc
mov r8, qword [0x1400a6468]
mov esi, 1
jmp 0x14006637f
mov dword [0x1400a4f6c], r15d
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x90]
call fcn.140062f70
nop
mov rcx, qword [rsp + 0x50]
mov r12, rcx
mov r13, qword [rsp + 0x58]
nop dword [rax]
cmp r12, r13
je 0x1400668ef
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 0x140066896
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 0x140066cea
imul r14, rdx, 0xf0
cmp r14, 0x1000
jb 0x1400667fd
lea rcx, [r14 + 0x27]
cmp rcx, r14
jbe 0x140066cf0
call fcn.14006d0f4
test rax, rax
je 0x1400667f6
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x140066811
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
test r14, r14
je 0x14006680f
mov rcx, r14
call fcn.14006d0f4
mov rdi, rax
jmp 0x140066811
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 0x14006687e
mov rdx, rsi
mov rcx, rdi
call fcn.140059990
add rdi, 0xf0
mov qword [rsp + 0xb8], rdi
add rsi, 0xf0
jmp 0x140066856
mov qword [rsp + 0xb0], rdi
mov rdx, rdi
mov rcx, rdi
call fcn.140069fa0
mov qword [rsp + 0x28], rdi
mov rdx, rbx
lea rcx, [rsp + 0x20]
call fcn.140065690
test al, al
jne 0x1400668de
mov rdx, qword [0x1400a6440]
cmp rdx, qword [0x1400a6448]
je 0x1400668c4
mov qword [rdx], rbx
add qword [0x1400a6440], 8
jmp 0x1400668d8
lea r8, [rsp + 0x90]
lea rcx, [0x1400a6438]
call fcn.140069350
inc dword [0x1400a4f6c]
add r12, 8
mov rcx, qword [rsp + 0x50]
xor r15d, r15d
jmp 0x140066750
test rcx, rcx
je 0x140066935
mov rax, qword [rsp + 0x60]
sub rax, rcx
sar rax, 3
lea rdx, [rax*8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140066930
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140066930
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14006cbbc
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.14004b910
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x48]
call fcn.140063110
cmp qword [rsp + 0x40], 0x1000000
jbe 0x140066b5f
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.140062f70
nop
mov rdi, qword [rsp + 0xa0]
mov rax, rdi
mov r8, qword [rsp + 0x98]
sub rax, r8
sar rax, 3
test rax, rax
je 0x140066af8
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 0x140066a5e
inc dword [0x1400a4f6c]
cmp rcx, rdx
je 0x140066a30
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 0x1400669f0
mov r8, rbx
mov rdx, rcx
lea rcx, [rsp + 0x78]
call fcn.140069350
mov rcx, qword [rsp + 0x80]
add rbx, 8
mov r8, qword [rsp + 0x98]
mov rdx, qword [rsp + 0x88]
jmp 0x1400669f0
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 0x140066af8
sub rax, r9
sar rax, 3
lea rdx, [rax*8]
cmp rdx, 0x1000
jb 0x140066ad7
add rdx, 0x27
mov rcx, qword [r9 - 8]
sub r9, rcx
lea rax, [r9 - 8]
cmp rax, 0x1f
ja 0x140066b3c
mov r9, rcx
mov rcx, r9
call fcn.14006cbbc
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x78], xmm0
mov qword [rsp + 0x88], r15
mov r8, qword [rsp + 0x98]
test r8, r8
je 0x140066b5f
mov rax, qword [rsp + 0xa8]
sub rax, r8
sar rax, 3
lea rdx, [rax*8]
mov rax, r8
cmp rdx, 0x1000
jb 0x140066b43
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140066b43
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.14006cbbc
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 0x140066c08
mov rax, r15
sub rax, rcx
sar rax, 3
lea rdx, [rax*8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140066bef
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140066bef
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14006cbbc
xorps xmm0, xmm0
movdqu xmmword [rsp + 0xc8], xmm0
mov qword [rsp + 0xd8], r15
movabs r12, 0x7ffffffffff0bdbe
movabs rdi, 0x7fffffffffffffff
mov esi, 1
jmp 0x140066c49
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 0x140066c67
imul rax, rax, 0x64
jmp 0x140066c85
cqo
idiv rbx
mov rcx, rax
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
imul rcx, rcx, 0x3b9aca00
add rax, rcx
cmp rax, r12
jg 0x140066ca4
add rax, 0xf4240
mov qword [rsp + 0x70], rax
lea rcx, [rsp + 0x70]
call fcn.140058cf0
jmp 0x140066270
mov qword [rsp + 0x70], rdi
lea rcx, [rsp + 0x70]
call fcn.140058cf0
jmp 0x140066270
mov rcx, qword [rsp + 0x200]
xor rcx, rsp
call fcn.14006ca20
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.14004b4e0
nop
call fcn.14004b4e0
int3