Function at 0x14004abc0
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0x100
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
movaps xmmword [rax - 0x98], xmm11
mov rax, qword [0x1402420c0]
xor rax, rsp
mov qword [rbp - 0x49], rax
xor edi, edi
mov r15, r8
cmp byte [0x14024befa], dil
mov r14, rdx
je 0x14004ac27
test r9b, r9b
je 0x14004b171
mov r8d, 8
lea rdx, [rbp - 0x79]
mov rcx, r14
call fcn.14005c028
movss xmm0, dword [rbp - 0x79]
xorps xmm9, xmm9
ucomiss xmm0, xmm9
jp 0x14004ac68
jne 0x14004ac68
movss xmm0, dword [rbp - 0x75]
ucomiss xmm0, xmm9
jp 0x14004ac68
jne 0x14004ac68
movss xmm0, dword [rbp - 0x71]
ucomiss xmm0, xmm9
jp 0x14004ac68
je 0x14004b171
movsd xmm0, qword [rbp - 0x79]
lea rdx, [rsp + 0x40]
mov eax, dword [rbp - 0x71]
lea rcx, [rbp - 0x69]
movsd qword [rsp + 0x40], xmm0
mov dword [rsp + 0x48], eax
call fcn.140058d2c
movss xmm7, dword [rbp - 0x69]
ucomiss xmm7, xmm9
movss xmm6, dword [rbp - 0x65]
jp 0x14004acb3
jne 0x14004acb3
ucomiss xmm6, xmm9
jp 0x14004acb3
jne 0x14004acb3
movss xmm0, dword [rbp - 0x61]
ucomiss xmm0, xmm9
jp 0x14004acb3
je 0x14004b171
mov eax, dword [0x14024bf14]
mov esi, 3
lea edx, [rsi - 1]
lea ebx, [rsi - 2]
lea r8d, [rsi + 2]
test eax, eax
jne 0x14004acd1
lea esi, [rdx + 6]
jmp 0x14004ace0
cmp eax, ebx
jne 0x14004acda
mov esi, r8d
jmp 0x14004ace0
cmp eax, edx
jne 0x14004ace0
mov esi, edx
mov ecx, dword [0x14024bf18]
test ecx, ecx
je 0x14004ad33
sub ecx, ebx
je 0x14004ad2b
sub ecx, ebx
je 0x14004ad22
sub ecx, ebx
je 0x14004ad16
sub ecx, ebx
je 0x14004ad0a
cmp ecx, ebx
jne 0x14004ad39
mov dword [0x14024c0d8], 0xa0
jmp 0x14004ad39
mov dword [0x14024c0d8], 0xa4
jmp 0x14004ad39
mov dword [0x14024c0d8], 6
jmp 0x14004ad39
mov dword [0x14024c0d8], r8d
jmp 0x14004ad39
mov dword [0x14024c0d8], edx
jmp 0x14004ad39
mov dword [0x14024c0d8], ebx
mov r8d, esi
lea rdx, [rsp + 0x50]
mov rcx, r14
call fcn.14005c028
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x69]
movsd xmm0, qword [rax]
mov eax, dword [rax + 8]
movsd qword [rsp + 0x40], xmm0
mov dword [rsp + 0x48], eax
call fcn.140058d2c
movss xmm11, dword [rbp - 0x69]
ucomiss xmm11, xmm9
movss xmm10, dword [rbp - 0x65]
jp 0x14004ad95
jne 0x14004ad95
ucomiss xmm10, xmm9
jp 0x14004ad95
jne 0x14004ad95
movss xmm0, dword [rbp - 0x61]
ucomiss xmm0, xmm9
jp 0x14004ad95
je 0x14004b171
mov ecx, ebx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
cdq
xor ecx, ecx
sub eax, edx
sar eax, 1
movd xmm8, eax
cvtdq2ps xmm8, xmm8
subss xmm8, xmm6
call qword [sym.imp.USER32.dll_GetSystemMetrics]
movsd xmm1, qword [0x140102d38]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm0, xmm7
cvtps2pd xmm0, xmm0
call fcn.1400d5bc0
movsd xmm1, qword [0x140102d38]
movaps xmm7, xmm0
cvtps2pd xmm0, xmm8
call fcn.1400d5bc0
addsd xmm0, xmm7
call fcn.1400e2f9c
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
comiss xmm1, dword [0x14015c6b8]
ja 0x14004b171
cmp byte [0x14024bf10], dil
je 0x14004afda
movabs r13, 0xd5d469c95f724e4c
lea rdx, [rsp + 0x30]
mov qword [rsp + 0x38], r13
lea rcx, [rsp + 0x50]
movabs r12, 0xf05ea6a0dee2aa63
mov qword [rbp - 0x61], r13
mov qword [rsp + 0x30], r12
movabs rdi, 0xf05ea6a0dee2aa3b
movdqa xmm0, xmmword [rsp + 0x30]
xor r9d, r9d
mov qword [rbp - 0x69], rdi
xor r8d, r8d
xorps xmm0, xmmword [rbp - 0x69]
movdqa xmmword [rsp + 0x30], xmm0
movss xmm0, dword [0x140100d60]
movss dword [rsp + 0x20], xmm0
call fcn.140024fa0
call fcn.140027d98
movss xmm1, dword [0x14015c6d4]
lea rcx, [rsp + 0x30]
mov qword [rbp - 0x69], r12
mov rbx, rax
mov qword [rbp - 0x61], r13
movdqa xmm0, xmmword [rbp - 0x69]
mov qword [rbp - 0x59], rdi
mov qword [rbp - 0x51], r13
xorps xmm0, xmmword [rbp - 0x59]
movdqa xmmword [rbp - 0x69], xmm0
movss xmm0, dword [0x14015c6d0]
movss dword [rsp + 0x30], xmm0
movss xmm0, dword [0x14015c6d8]
movss dword [rsp + 0x38], xmm0
movss dword [rsp + 0x34], xmm1
mov dword [rsp + 0x3c], 0x437f0000
call fcn.140025c08
movss xmm1, dword [rsp + 0x50]
lea r9, [rbp - 0x69]
mulss xmm1, dword [0x140100880]
lea rdx, [rsp + 0x40]
and qword [rsp + 0x20], 0
mov r8d, eax
movaps xmm0, xmm11
mov rcx, rbx
subss xmm0, xmm1
movss xmm1, dword [rsp + 0x54]
mulss xmm1, dword [0x140100880]
movss dword [rsp + 0x40], xmm0
movaps xmm0, xmm10
subss xmm0, xmm1
movss dword [rsp + 0x44], xmm0
call fcn.140039d1c
call fcn.140027d98
movss xmm0, dword [0x14015c6d0]
lea rcx, [rsp + 0x30]
movss xmm1, dword [0x14015c6d4]
mov rdi, rax
movss dword [rsp + 0x30], xmm0
movss xmm0, dword [0x14015c6d8]
movss dword [rsp + 0x38], xmm0
movss dword [rsp + 0x34], xmm1
mov dword [rsp + 0x3c], 0x437f0000
call fcn.140025c08
mov ecx, 1
movss dword [rsp + 0x40], xmm11
movss dword [rsp + 0x44], xmm10
mov ebx, eax
call qword [sym.imp.USER32.dll_GetSystemMetrics]
cdq
xor ecx, ecx
sub eax, edx
sar eax, 1
movd xmm6, eax
cvtdq2ps xmm6, xmm6
call qword [sym.imp.USER32.dll_GetSystemMetrics]
cdq
movss dword [rbp - 0x65], xmm6
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0x69], xmm0
movss xmm1, dword [0x140100884]
lea r8, [rsp + 0x40]
mov r9d, ebx
movss dword [rsp + 0x20], xmm1
lea rdx, [rbp - 0x69]
mov rcx, rdi
call fcn.140038aa8
xor edi, edi
mov ecx, dword [0x14024c0d8]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x14004afff
mov ecx, 0xa4
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14004b171
mov r8d, esi
lea rdx, [rbp - 0x69]
mov rcx, r14
call fcn.14005c028
xor r8d, r8d
lea rdx, [rsp + 0x30]
mov rcx, r15
mov rbx, rax
call fcn.14005ae84
mov r8, rbx
lea rcx, [rsp + 0x50]
mov rdx, rax
call fcn.14004a7a0
mov rcx, r15
call fcn.14000c334
add rax, 0x2520
movss dword [rsp + 0x40], xmm9
xorps xmm6, xmm6
xorps xmm2, xmm2
movss dword [rsp + 0x44], xmm6
movss dword [rsp + 0x48], xmm2
cmp rax, 0x2710
jb 0x14004b096
mov edx, dword [0x14024bba8]
lea r9, [rsp + 0x40]
mov rcx, qword [0x14024bba0]
mov r8, rax
mov qword [rsp + 0x20], 0xc
call fcn.140045de8
movss xmm2, dword [rsp + 0x48]
movss xmm6, dword [rsp + 0x44]
movss xmm9, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x50]
lea rcx, [rbp - 0x69]
movss xmm10, dword [rsp + 0x54]
subss xmm0, xmm9
movaps xmm1, xmm10
subss xmm1, xmm6
movss dword [rbp - 0x69], xmm0
movss xmm0, dword [rsp + 0x58]
subss xmm0, xmm2
movss dword [rbp - 0x65], xmm1
movss dword [rbp - 0x61], xmm0
call fcn.1400561b0
cmp byte [0x14024bf11], dil
movss xmm0, dword [0x14015c6bc]
mulss xmm0, dword [0x140101364]
movss xmm8, dword [rbp - 0x65]
movss xmm7, dword [rbp - 0x69]
divss xmm8, xmm0
divss xmm7, xmm0
je 0x14004b127
movss xmm0, dword [rsp + 0x50]
mov rcx, qword [0x14024c118]
unpcklps xmm0, xmm10
movq rdx, xmm0
call fcn.140058a34
movss xmm6, dword [rsp + 0x44]
movss xmm9, dword [rsp + 0x40]
cmp byte [0x14024bf0d], dil
je 0x14004b171
mov rcx, r15
addss xmm7, xmm9
addss xmm8, xmm6
call fcn.14000c334
mov edx, dword [0x14024bba8]
lea r9, [rbp - 0x69]
mov rcx, qword [0x14024bba0]
unpcklps xmm7, xmm8
lea r8, [rax + 0x2520]
movsd qword [rbp - 0x69], xmm7
mov qword [rsp + 0x20], 8
call fcn.140045ea0
mov rcx, qword [rbp - 0x49]
xor rcx, rsp
call fcn.1400c9b20
lea r11, [rsp + 0x100]
mov rbx, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret