Function at 0x140008160
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0xe8]
sub rsp, 0x1c0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
movaps xmmword [rax - 0xa8], xmm13
movaps xmmword [rax - 0xb8], xmm14
movaps xmmword [rax - 0xc8], xmm15
mov rax, qword [0x14005e040]
xor rax, rsp
mov qword [rbp + 0x10], rax
movdqa xmm0, xmmword [0x140054860]
lea rcx, [rbp - 0x10]
movdqu xmmword [rsp + 0x70], xmm0
xor r13d, r13d
xorps xmm0, xmm0
xorps xmm1, xmm1
xorps xmm9, xmm9
mov qword [0x14005ec28], r13
movups xmmword [0x14005ec40], xmm0
movsd qword [0x14005eca8], xmm9
movups xmmword [0x14005ec98], xmm1
call fcn.140005530
movss xmm15, dword [0x1400545fc]
xorps xmm10, xmm10
movss xmm14, dword [0x140054668]
mov rbx, qword [rbp - 0x10]
movabs rdi, 0x7ffffffffff0bdbf
movss xmm7, dword [0x1400545d0]
lea rcx, [rsp + 0x40]
call fcn.140005530
mov rax, qword [rsp + 0x40]
mov rcx, rax
sub rcx, rbx
cmp rcx, 0x4c4b40
jl 0x140008241
mov rbx, rax
call fcn.140007d60
cmp qword [0x14005ec08], r13
je 0x1400086b5
mov r12, qword [0x14005e178]
mov rdi, qword [0x14005e170]
mov dword [0x14005ed28], 0x7f7fffff
mov qword [0x14005ed20], r13
cmp rdi, r12
je 0x1400089ca
nop dword [rax]
mov rsi, qword [rdi]
mov rcx, rsi
call fcn.140005a40
cmp byte [0x14005e0a2], r13b
mov r14, rax
mov r15, qword [rdi + 0x18]
je 0x1400082f1
lea rdx, [rax + 0x2e8]
call fcn.140008a60
lea rdx, [r14 + 0x2f0]
movaps xmm6, xmm0
call fcn.140008a60
addss xmm0, xmm7
comiss xmm0, xmm6
setae al
cmp byte [0x14005e0a2], r13b
je 0x1400082f1
test al, al
je 0x1400083f5
mov rcx, rsi
call fcn.140007a60
test al, al
jne 0x1400083f5
mov rdx, qword [rdi + 8]
add rdx, 0x1239
call fcn.1400068e0
cmp dword [0x14005ec00], eax
je 0x1400083f5
cmp byte [0x14005e0a0], r13b
je 0x1400083f5
mov r9d, 0x6e
lea rdx, [rbp - 0x30]
mov r8, r15
mov rcx, r14
call fcn.140007730
lea r8, [rbp - 0x10]
lea rdx, [rsp + 0x50]
movups xmm0, xmmword [rax]
movsd xmm1, qword [rax + 0x10]
movaps xmmword [rbp - 0x10], xmm0
movsd qword [rbp], xmm1
call fcn.140007410
movss xmm0, dword [0x14005ebd0]
movsd xmm3, qword [rsp + 0x50]
movsd xmm2, qword [rsp + 0x58]
mulss xmm0, xmm15
cvtps2pd xmm1, xmm0
movss xmm0, dword [0x14005ebd4]
subsd xmm3, xmm1
mulss xmm0, xmm15
cvtps2pd xmm1, xmm0
mulsd xmm3, xmm3
xorps xmm0, xmm0
subsd xmm2, xmm1
mulsd xmm2, xmm2
addsd xmm3, xmm2
cvtpd2ps xmm1, xmm3
ucomiss xmm0, xmm1
ja 0x1400083b3
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x1400083bb
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
mov eax, dword [0x14005e0a8]
lea ecx, [rax + rax*4]
add ecx, ecx
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
comiss xmm1, xmm0
jbe 0x1400083f5
movss xmm1, dword [0x14005ed28]
comiss xmm1, xmm0
jbe 0x1400083f5
movss dword [0x14005ed28], xmm0
mov qword [0x14005ed20], rsi
mov qword [0x14005ec28], r15
add rdi, 0x40
cmp rdi, r12
jne 0x1400082a0
cmp qword [0x14005ed20], r13
je 0x1400089ca
mov ecx, dword [0x14005e0b0]
test ecx, ecx
je 0x140008635
sub ecx, 1
je 0x14000860a
sub ecx, 1
je 0x1400085df
sub ecx, 1
je 0x1400085b4
cmp ecx, 1
jne 0x1400086ab
mov rdi, r13
mov rcx, qword [0x14005ed20]
call fcn.140005a40
mov r9d, dword [rsp + rdi*4 + 0x70]
lea rdx, [rbp - 0x10]
mov r8, qword [0x14005ec28]
mov rcx, rax
call fcn.140007730
movups xmm6, xmmword [rbp - 0x10]
lea r8, [rsp + 0x20]
movsd xmm11, qword [rbp]
lea rdx, [rsp + 0x60]
movaps xmmword [rsp + 0x20], xmm6
movsd qword [rsp + 0x30], xmm11
call fcn.140007410
movss xmm1, dword [0x14005ebd4]
movss xmm0, dword [0x14005ebd0]
movsd xmm12, qword [rsp + 0x68]
mulss xmm0, xmm15
mulss xmm1, xmm15
cvtps2pd xmm9, xmm0
cvtps2pd xmm8, xmm1
movaps xmm1, xmm14
movaps xmm0, xmm8
subsd xmm0, xmm12
cvtpd2ps xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
movsd xmm13, qword [rsp + 0x60]
movaps xmm7, xmm0
movaps xmm0, xmm9
movaps xmm1, xmm14
subsd xmm0, xmm13
cvtpd2ps xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
addss xmm7, xmm0
xorps xmm1, xmm1
ucomiss xmm1, xmm7
ja 0x140008501
xorps xmm0, xmm0
sqrtss xmm0, xmm7
jmp 0x140008509
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
subsd xmm8, qword [0x14005ec48]
xorps xmm10, xmm10
movaps xmm1, xmm14
cvtss2sd xmm10, xmm0
cvtpd2ps xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
subsd xmm9, qword [0x14005ec40]
movaps xmm7, xmm0
movaps xmm1, xmm14
cvtpd2ps xmm0, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
addss xmm7, xmm0
xorps xmm1, xmm1
ucomiss xmm1, xmm7
ja 0x140008558
xorps xmm0, xmm0
sqrtss xmm0, xmm7
jmp 0x140008560
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
cvtss2sd xmm0, xmm0
comisd xmm0, xmm10
jbe 0x14000859a
movsd qword [0x14005ec98], xmm6
unpckhpd xmm6, xmm6
movsd qword [0x14005eca0], xmm6
movsd qword [0x14005eca8], xmm11
movsd qword [0x14005ec40], xmm13
movsd qword [0x14005ec48], xmm12
inc rdi
cmp rdi, 3
jl 0x140008444
xorps xmm9, xmm9
xorps xmm10, xmm10
jmp 0x1400086ab
mov rcx, qword [0x14005ed20]
call fcn.140005a40
mov r8, qword [0x14005ec28]
lea rdx, [rbp - 0x10]
mov r9d, 2
mov rcx, rax
call fcn.140007730
lea rdx, [rbp - 0x80]
jmp 0x14000865e
mov rcx, qword [0x14005ed20]
call fcn.140005a40
mov r8, qword [0x14005ec28]
lea rdx, [rbp - 0x10]
mov r9d, 7
mov rcx, rax
call fcn.140007730
lea rdx, [rbp - 0x70]
jmp 0x14000865e
mov rcx, qword [0x14005ed20]
call fcn.140005a40
mov r8, qword [0x14005ec28]
lea rdx, [rbp - 0x10]
mov r9d, 0x43
mov rcx, rax
call fcn.140007730
lea rdx, [rbp - 0x60]
jmp 0x14000865e
mov rcx, qword [0x14005ed20]
call fcn.140005a40
mov r8, qword [0x14005ec28]
lea rdx, [rbp - 0x10]
mov r9d, 0x6e
mov rcx, rax
call fcn.140007730
lea rdx, [rbp - 0x50]
movups xmm0, xmmword [rax]
lea r8, [rsp + 0x20]
movups xmmword [0x14005ec98], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [0x14005eca8], xmm1
movups xmm0, xmmword [rax]
movsd xmm1, qword [rax + 0x10]
movaps xmmword [rsp + 0x20], xmm0
movsd qword [rsp + 0x30], xmm1
call fcn.140007410
movsd xmm0, qword [rax]
movsd qword [0x14005ec40], xmm0
movsd xmm1, qword [rax + 8]
movsd qword [0x14005ec48], xmm1
movabs rdi, 0x7ffffffffff0bdbf
cmp qword [0x14005ed20], r13
je 0x1400089d4
cmp qword [0x14005ec08], r13
je 0x1400089d4
mov ecx, dword [0x14005e0b4]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1400089d4
movsd xmm7, qword [0x14005ec40]
ucomisd xmm7, xmm9
movsd xmm2, qword [0x14005ec48]
jp 0x14000870a
jne 0x14000870a
ucomisd xmm2, xmm9
jp 0x14000870a
je 0x1400089d4
movss xmm1, dword [0x14005ebd4]
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [0x14005e0a8]
mov eax, r13d
mulss xmm1, xmm15
comiss xmm0, xmm1
xorps xmm1, xmm1
setae al
cvtsi2sd xmm1, eax
subsd xmm1, xmm2
cvtpd2ps xmm0, xmm1
movss xmm1, dword [0x140054668]
call fcn.14004b470
movss xmm1, dword [0x14005ebd0]
movaps xmm6, xmm0
mulss xmm1, xmm15
cvtps2pd xmm2, xmm1
movaps xmm1, xmm14
subsd xmm2, xmm7
cvtpd2ps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
movaps xmm1, xmm0
xorps xmm0, xmm0
addss xmm1, xmm6
ucomiss xmm0, xmm1
ja 0x140008783
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x14000878b
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
ucomiss xmm0, xmm10
jp 0x140008797
je 0x1400089d4
mov rcx, qword [0x14005ec08]
call fcn.140005980
movsd xmm0, qword [0x14005eca0]
movaps xmm1, xmm14
subsd xmm0, qword [0x14005e148]
mov rdi, rax
cvtpd2ps xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
movaps xmm6, xmm0
movaps xmm1, xmm14
movsd xmm0, qword [0x14005ec98]
subsd xmm0, qword [0x14005e140]
cvtpd2ps xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
movsd xmm1, qword [0x14005eca8]
addss xmm6, xmm0
subsd xmm1, qword [0x14005e150]
cvtpd2ps xmm0, xmm1
movaps xmm1, xmm14
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
addss xmm6, xmm0
xorps xmm1, xmm1
ucomiss xmm1, xmm6
ja 0x140008819
xorps xmm0, xmm0
sqrtss xmm0, xmm6
jmp 0x140008821
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
xorps xmm8, xmm8
lea rdx, [rdi + 0x1a78]
cvtss2sd xmm8, xmm0
call fcn.140008a60
lea rdx, [rdi + 0x1ce4]
movaps xmm7, xmm0
call fcn.140008a60
cmp byte [0x14005ebf0], 1
movaps xmm6, xmm0
je 0x140008967
ucomiss xmm7, xmm10
jp 0x140008861
je 0x140008967
ucomiss xmm6, xmm10
jp 0x14000886d
je 0x140008967
test rdi, rdi
je 0x140008967
cmp byte [0x14005e0a1], r13b
je 0x140008967
mov rdx, qword [0x14005ed20]
add rdx, 0x1b0
call fcn.140006630
xorps xmm0, xmm0
movsd qword [rbp], xmm9
mov r8d, 0x18
lea rdx, [rbp - 0x10]
movups xmmword [rbp - 0x10], xmm0
lea rcx, [rax + 0x168]
call fcn.140005610
mulss xmm6, dword [0x1400547dc]
lea r8, [rsp + 0x20]
lea rdx, [rbp - 0x40]
cvtpd2ps xmm0, xmm8
andps xmm6, xmmword [0x140054c40]
divss xmm0, xmm7
mulss xmm6, xmm15
cvtps2pd xmm1, xmm0
mulss xmm0, xmm0
movaps xmm3, xmm1
movaps xmm2, xmm1
mulsd xmm1, qword [rbp]
mulsd xmm3, qword [rbp - 0x10]
mulsd xmm2, qword [rbp - 8]
mulss xmm6, xmm0
xorps xmm0, xmm0
addsd xmm3, qword [0x14005ec98]
addsd xmm2, qword [0x14005eca0]
cvtss2sd xmm0, xmm6
addsd xmm0, xmm1
movaps xmm1, xmm3
unpcklpd xmm1, xmm2
movups xmmword [0x14005ec98], xmm1
movaps xmmword [rsp + 0x20], xmm1
addsd xmm0, qword [0x14005eca8]
movsd qword [rsp + 0x30], xmm0
movsd qword [rsp + 0x30], xmm0
movsd qword [0x14005eca8], xmm0
call fcn.140007410
movsd xmm0, qword [rax]
movsd qword [0x14005ec40], xmm0
movsd xmm1, qword [rax + 8]
movsd qword [0x14005ec48], xmm1
movsd xmm0, qword [0x14005ec98]
ucomisd xmm0, xmm9
jp 0x1400089b0
jne 0x1400089b0
movsd xmm0, qword [0x14005eca0]
ucomisd xmm0, xmm9
jp 0x1400089b0
jne 0x1400089b0
movsd xmm0, qword [0x14005eca8]
ucomisd xmm0, xmm9
jp 0x1400089b0
movss xmm7, dword [0x1400545d0]
movabs rdi, 0x7ffffffffff0bdbf
je 0x140008241
movups xmm0, xmmword [0x14005ec40]
lea rcx, [rbp - 0x10]
movdqa xmmword [rbp - 0x10], xmm0
call fcn.140007b30
jmp 0x14000822f
movabs rdi, 0x7ffffffffff0bdbf
xorps xmm0, xmm0
movsd qword [rsp + 0x30], xmm9
lea rcx, [rsp + 0x48]
movsd qword [0x14005eca8], xmm9
movups xmmword [0x14005ec98], xmm0
mov qword [0x14005ed20], r13
movups xmmword [0x14005ec40], xmm0
call fcn.140005530
mov rax, qword [rsp + 0x48]
mov qword [rbp - 0x10], rax
cmp rax, rdi
je 0x140008a3d
mov ecx, 1
mov edx, 0xff
cmovl ecx, edx
test cl, cl
jns 0x140008a3d
add rax, 0xf4240
lea rcx, [rbp - 0x10]
mov qword [rbp - 0x10], rax
call fcn.1400069c0
jmp 0x140008239
movabs rax, 0x7fffffffffffffff
lea rcx, [rbp - 0x10]
mov qword [rbp - 0x10], rax
call fcn.1400069c0
jmp 0x140008239