Function at 0x18004b930
Capabilities:
Log keystrokes via polling

Disassembly:
sub rsp, 0x1f8
mov rax, qword [0x18010d3c0]
xor rax, rsp
mov qword [rsp + 0x140], rax
cmp byte [0x180149833], 0
je 0x18004bed0
mov ecx, 2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18004bed0
movss xmm0, dword [0x180100094]
comiss xmm0, dword [0x18011248c]
mov qword [rsp + 0x208], rbp
jbe 0x18004b9a9
mov edx, 0x105
call fcn.180048740
test eax, eax
je 0x18004b9a9
movss xmm0, dword [0x18011248c]
addss xmm0, dword [0x180100028]
movss dword [0x18011248c], xmm0
mov edx, 0x106
call fcn.180048740
test eax, eax
je 0x18004b9cf
movss xmm0, dword [0x18011248c]
addss xmm0, dword [0x1801000fc]
movss dword [0x18011248c], xmm0
mov dword [rsp + 0xe0], 0xa
call fcn.18001db20
mov ecx, eax
lea rdx, [rsp + 0xe0]
call fcn.18001d1a0
mov dword [rsp + 0x80], 0xa
call fcn.18001db20
mov ecx, eax
lea rdx, [rsp + 0x80]
call fcn.18001d1a0
movsxd rbp, eax
test eax, eax
jle 0x18004bec8
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 [0x1800fff4c]
movaps xmmword [rsp + 0x150], xmm15
movss xmm15, dword [0x180100220]
mov ecx, dword [rsp + rsi*8 + 0x88]
call fcn.180047190
test eax, eax
je 0x18004bad7
mov ecx, dword [rsp + rsi*8 + 0x88]
xor edx, edx
call fcn.18001d2a0
test eax, eax
je 0x18004bad7
mov ecx, dword [rsp + rsi*8 + 0x88]
xor edx, edx
call fcn.18001d410
mov dword [rsp + rsi*8 + 0x88], eax
xor edx, edx
lea rcx, [rsp + 0x60]
call fcn.180046ed0
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 [0x1801001f0]
cvtps2pd xmm7, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
movss xmm6, dword [0x18011248c]
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.180046e80
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.18001b7d0
cvttss2si ecx, dword [0x1801123fc]
movups xmm0, xmmword [rax]
movsd xmm1, qword [rax + 0x10]
movaps xmm2, xmm13
cvttss2si eax, dword [0x1801123ac]
cvttss2si edx, dword [0x1801123c8]
movss xmm3, dword [0x180100068]
movups xmmword [rsp + 0x40], xmm0
movss xmm0, dword [0x1800fffd8]
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.180047720
mov edi, dword [rsp + rsi*8 + 0xe8]
xor ebx, ebx
mov ecx, edi
call fcn.18001caf0
test eax, eax
jne 0x18004bc5f
cmp ebx, 0x19
jg 0x18004bc5f
mov ecx, edi
call fcn.18001cab0
mov ecx, edi
inc ebx
call fcn.18001caf0
test eax, eax
je 0x18004bc46
call fcn.180016290
test eax, eax
je 0x18004bca0
mov ecx, edi
call fcn.18001c9f0
mov ecx, eax
mov edi, eax
xor ebx, ebx
call fcn.18001ca70
test eax, eax
jne 0x18004bc99
nop
cmp ebx, 0x19
jg 0x18004bc99
mov ecx, edi
call fcn.18001ca30
mov ecx, edi
inc ebx
call fcn.18001ca70
test eax, eax
je 0x18004bc80
mov ecx, edi
call fcn.18001ccd0
comiss xmm10, xmm11
movss xmm0, dword [rsp + 0x40]
jbe 0x18004bcc4
comiss xmm0, xmm11
jbe 0x18004bcc4
movaps xmm6, xmm10
subss xmm6, xmm0
movss dword [0x18014eb60], xmm6
jmp 0x18004bccc
movss xmm6, dword [0x18014eb60]
comiss xmm11, xmm10
jbe 0x18004bce8
comiss xmm11, xmm0
jbe 0x18004bce8
movaps xmm6, xmm10
subss xmm6, xmm0
movss dword [0x18014eb60], xmm6
comiss xmm10, xmm11
jbe 0x18004bd04
comiss xmm11, xmm0
jbe 0x18004bd04
movaps xmm6, xmm10
addss xmm6, xmm0
movss dword [0x18014eb60], xmm6
comiss xmm11, xmm10
jbe 0x18004bd20
comiss xmm0, xmm11
jbe 0x18004bd20
movaps xmm6, xmm10
addss xmm6, xmm0
movss dword [0x18014eb60], xmm6
comiss xmm12, xmm11
movss xmm0, dword [rsp + 0x48]
movaps xmm8, xmm6
jbe 0x18004bd46
comiss xmm0, xmm11
jbe 0x18004bd46
movaps xmm6, xmm12
subss xmm6, xmm0
movss dword [0x18014eb60], xmm6
comiss xmm11, xmm12
jbe 0x18004bd62
comiss xmm11, xmm0
jbe 0x18004bd62
movaps xmm6, xmm12
subss xmm6, xmm0
movss dword [0x18014eb60], xmm6
comiss xmm12, xmm11
jbe 0x18004bd7e
comiss xmm11, xmm0
jbe 0x18004bd7e
movaps xmm6, xmm12
addss xmm6, xmm0
movss dword [0x18014eb60], xmm6
comiss xmm11, xmm12
jbe 0x18004bd9a
comiss xmm0, xmm11
jbe 0x18004bd9a
movaps xmm6, xmm12
addss xmm6, xmm0
movss dword [0x18014eb60], xmm6
comiss xmm13, xmm11
movss xmm0, dword [rsp + 0x50]
movaps xmm7, xmm6
jbe 0x18004bdbf
comiss xmm0, xmm11
jbe 0x18004bdbf
movaps xmm6, xmm13
subss xmm6, xmm0
movss dword [0x18014eb60], xmm6
comiss xmm11, xmm13
jbe 0x18004bddb
comiss xmm11, xmm0
jbe 0x18004bddb
movaps xmm6, xmm13
subss xmm6, xmm0
movss dword [0x18014eb60], xmm6
comiss xmm13, xmm11
jbe 0x18004bdf7
comiss xmm11, xmm0
jbe 0x18004bdf7
movaps xmm6, xmm13
addss xmm6, xmm0
movss dword [0x18014eb60], xmm6
comiss xmm11, xmm13
jbe 0x18004be13
comiss xmm0, xmm11
jbe 0x18004be13
movaps xmm6, xmm13
addss xmm6, xmm0
movss dword [0x18014eb60], 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.1800475e0
mov ecx, dword [rsp + rsi*8 + 0x88]
movaps xmm3, xmm6
movaps xmm2, xmm7
movaps xmm1, xmm8
call fcn.1800475e0
inc rsi
cmp rsi, rbp
jl 0x18004baa0
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.180059b80
add rsp, 0x1f8
ret