Function at 0x180071e80
Capabilities:
Log keystrokes via polling

Disassembly:
sub rsp, 0x1f8
mov rax, qword [0x18019d440]
xor rax, rsp
mov qword [rsp + 0x140], rax
cmp byte [0x1801e4d5f], 0
je 0x180072430
mov ecx, 2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180072430
movss xmm0, dword [0x18018975c]
comiss xmm0, dword [0x1801a769c]
mov qword [rsp + 0x208], rbp
jbe 0x180071efe
mov edx, 0x105
mov ecx, 2
call fcn.18002fc50
test eax, eax
je 0x180071efe
movss xmm0, dword [0x1801a769c]
addss xmm0, dword [0x1801896e8]
movss dword [0x1801a769c], xmm0
mov edx, 0x106
mov ecx, 2
call fcn.18002fc50
test eax, eax
je 0x180071f29
movss xmm0, dword [0x1801a769c]
addss xmm0, dword [0x1801897c4]
movss dword [0x1801a769c], xmm0
mov dword [rsp + 0xe0], 0xa
call fcn.180033370
mov ecx, eax
lea rdx, [rsp + 0xe0]
call fcn.180045ba0
mov dword [rsp + 0x80], 0xa
call fcn.180033370
mov ecx, eax
lea rdx, [rsp + 0x80]
call fcn.180045ba0
movsxd rbp, eax
test eax, eax
jle 0x180072428
mov qword [rsp + 0x200], rbx
mov qword [rsp + 0x210], rsi
xor esi, esi
mov qword [rsp + 0x1f0], rdi
movaps xmmword [rsp + 0x1e0], xmm6
movaps xmmword [rsp + 0x1d0], xmm7
movaps xmmword [rsp + 0x1c0], xmm8
movaps xmmword [rsp + 0x1b0], xmm9
movaps xmmword [rsp + 0x1a0], xmm10
movaps xmmword [rsp + 0x190], xmm11
xorps xmm11, xmm11
movaps xmmword [rsp + 0x180], xmm12
movaps xmmword [rsp + 0x170], xmm13
movaps xmmword [rsp + 0x160], xmm14
movss xmm14, dword [0x1801895b4]
movaps xmmword [rsp + 0x150], xmm15
movss xmm15, dword [0x180189980]
nop word [rax + rax]
mov ecx, dword [rsp + rsi*8 + 0x88]
call fcn.18006db80
test eax, eax
je 0x180072037
mov ecx, dword [rsp + rsi*8 + 0x88]
xor edx, edx
call fcn.18003a170
test eax, eax
je 0x180072037
mov ecx, dword [rsp + rsi*8 + 0x88]
xor edx, edx
call fcn.18003a1d0
mov dword [rsp + rsi*8 + 0x88], eax
xor edx, edx
lea rcx, [rsp + 0x60]
call fcn.18002ad80
xorps xmm10, xmm10
xorps xmm8, xmm8
movups xmm0, xmmword [rax]
movsd xmm1, qword [rax + 0x10]
mulss xmm0, xmm14
movsd qword [rsp + 0x70], xmm1
mulss xmm1, xmm14
cvtss2sd xmm10, xmm0
cvtss2sd xmm8, xmm1
movaps xmm0, xmm10
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movaps xmm0, xmm8
andps xmm1, xmmword [0x180189950]
cvtps2pd xmm7, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
movss xmm6, dword [0x1801a769c]
xorps xmm2, xmm2
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movaps xmm0, xmm8
xorps xmm1, xmm15
cvtss2sd xmm2, xmm1
mulsd xmm2, xmm7
cvtpd2ps xmm9, xmm2
mulss xmm9, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movaps xmm0, xmm10
cvtps2pd xmm2, xmm1
mulsd xmm2, xmm7
cvtpd2ps xmm8, xmm2
mulss xmm8, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
xorps xmm7, xmm7
lea rcx, [rsp + 0x60]
cvtsd2ss xmm7, xmm0
mulss xmm7, xmm6
call fcn.18006d860
mov edx, dword [rsp + rsi*8 + 0x88]
lea rcx, [rsp + 0x60]
xor r8d, r8d
movups xmm12, xmmword [rax]
movsd xmm13, qword [rax + 0x10]
movaps xmm10, xmm12
movsd qword [rsp + 0x70], xmm13
shufps xmm12, xmm12, 0xaa
addss xmm10, xmm9
addss xmm12, xmm8
addss xmm13, xmm7
call fcn.180039830
cvttss2si ecx, dword [0x1801a760c]
movups xmm0, xmmword [rax]
movsd xmm1, qword [rax + 0x10]
movaps xmm2, xmm13
cvttss2si eax, dword [0x1801a75d4]
cvttss2si edx, dword [0x1801a75f0]
movss xmm3, dword [0x180189730]
movups xmmword [rsp + 0x40], xmm0
movss xmm0, dword [0x180189690]
movss dword [rsp + 0x38], xmm0
movaps xmm0, xmm10
mov dword [rsp + 0x30], eax
movsd qword [rsp + 0x50], xmm1
movaps xmm1, xmm12
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], edx
call fcn.18006df40
mov edi, dword [rsp + rsi*8 + 0xe8]
xor ebx, ebx
mov ecx, edi
call fcn.180039f60
test eax, eax
jne 0x1800721bf
cmp ebx, 0x19
jg 0x1800721bf
mov ecx, edi
call fcn.1800456c0
mov ecx, edi
inc ebx
call fcn.180039f60
test eax, eax
je 0x1800721a6
call fcn.18002acc0
test eax, eax
je 0x180072200
mov ecx, edi
call fcn.180075d70
mov ecx, eax
mov edi, eax
xor ebx, ebx
call fcn.180075e10
test eax, eax
jne 0x1800721f9
nop
cmp ebx, 0x19
jg 0x1800721f9
mov ecx, edi
call fcn.180075dc0
mov ecx, edi
inc ebx
call fcn.180075e10
test eax, eax
je 0x1800721e0
mov ecx, edi
call fcn.18006f0b0
comiss xmm10, xmm11
movss xmm0, dword [rsp + 0x40]
jbe 0x180072224
comiss xmm0, xmm11
jbe 0x180072224
movaps xmm6, xmm10
subss xmm6, xmm0
movss dword [0x1801e6138], xmm6
jmp 0x18007222c
movss xmm6, dword [0x1801e6138]
comiss xmm11, xmm10
jbe 0x180072248
comiss xmm11, xmm0
jbe 0x180072248
movaps xmm6, xmm10
subss xmm6, xmm0
movss dword [0x1801e6138], xmm6
comiss xmm10, xmm11
jbe 0x180072264
comiss xmm11, xmm0
jbe 0x180072264
movaps xmm6, xmm10
addss xmm6, xmm0
movss dword [0x1801e6138], xmm6
comiss xmm11, xmm10
jbe 0x180072280
comiss xmm0, xmm11
jbe 0x180072280
movaps xmm6, xmm10
addss xmm6, xmm0
movss dword [0x1801e6138], xmm6
comiss xmm12, xmm11
movss xmm0, dword [rsp + 0x48]
movaps xmm8, xmm6
jbe 0x1800722a6
comiss xmm0, xmm11
jbe 0x1800722a6
movaps xmm6, xmm12
subss xmm6, xmm0
movss dword [0x1801e6138], xmm6
comiss xmm11, xmm12
jbe 0x1800722c2
comiss xmm11, xmm0
jbe 0x1800722c2
movaps xmm6, xmm12
subss xmm6, xmm0
movss dword [0x1801e6138], xmm6
comiss xmm12, xmm11
jbe 0x1800722de
comiss xmm11, xmm0
jbe 0x1800722de
movaps xmm6, xmm12
addss xmm6, xmm0
movss dword [0x1801e6138], xmm6
comiss xmm11, xmm12
jbe 0x1800722fa
comiss xmm0, xmm11
jbe 0x1800722fa
movaps xmm6, xmm12
addss xmm6, xmm0
movss dword [0x1801e6138], xmm6
comiss xmm13, xmm11
movss xmm0, dword [rsp + 0x50]
movaps xmm7, xmm6
jbe 0x18007231f
comiss xmm0, xmm11
jbe 0x18007231f
movaps xmm6, xmm13
subss xmm6, xmm0
movss dword [0x1801e6138], xmm6
comiss xmm11, xmm13
jbe 0x18007233b
comiss xmm11, xmm0
jbe 0x18007233b
movaps xmm6, xmm13
subss xmm6, xmm0
movss dword [0x1801e6138], xmm6
comiss xmm13, xmm11
jbe 0x180072357
comiss xmm11, xmm0
jbe 0x180072357
movaps xmm6, xmm13
addss xmm6, xmm0
movss dword [0x1801e6138], xmm6
comiss xmm11, xmm13
jbe 0x180072373
comiss xmm0, xmm11
jbe 0x180072373
movaps xmm6, xmm13
addss xmm6, xmm0
movss dword [0x1801e6138], xmm6
mov ecx, dword [rsp + rsi*8 + 0xe8]
addss xmm6, xmm6
addss xmm7, xmm7
addss xmm8, xmm8
movaps xmm3, xmm6
movaps xmm2, xmm7
movaps xmm1, xmm8
call fcn.18006de60
mov ecx, dword [rsp + rsi*8 + 0x88]
movaps xmm3, xmm6
movaps xmm2, xmm7
movaps xmm1, xmm8
call fcn.18006de60
inc rsi
cmp rsi, rbp
jl 0x180072000
movaps xmm15, xmmword [rsp + 0x150]
movaps xmm14, xmmword [rsp + 0x160]
movaps xmm13, xmmword [rsp + 0x170]
movaps xmm12, xmmword [rsp + 0x180]
movaps xmm11, xmmword [rsp + 0x190]
movaps xmm10, xmmword [rsp + 0x1a0]
movaps xmm9, xmmword [rsp + 0x1b0]
movaps xmm8, xmmword [rsp + 0x1c0]
movaps xmm7, xmmword [rsp + 0x1d0]
movaps xmm6, xmmword [rsp + 0x1e0]
mov rdi, qword [rsp + 0x1f0]
mov rsi, qword [rsp + 0x210]
mov rbx, qword [rsp + 0x200]
mov rbp, qword [rsp + 0x208]
mov rcx, qword [rsp + 0x140]
xor rcx, rsp
call fcn.1800d0330
add rsp, 0x1f8
ret