Function at 0x14000506c
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 - 0x38]
sub rsp, 0x110
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], xmm13
mov rax, qword [0x140041010]
xor rax, rsp
mov qword [rbp - 0x70], rax
xor r12d, r12d
cmp dword [0x140043adc], r12d
je 0x140005119
call fcn.140002e44
cmp eax, dword [0x140043adc]
mov ebx, eax
jbe 0x140005119
call fcn.140007bcc
mov dword [0x140043adc], r12d
call fcn.140002e44
mov r8d, eax
mov eax, 0x86186187
mul r8d
mov ecx, r8d
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 4
imul ecx, ecx, 0x15
sub r8d, ecx
lea eax, [r8 + 0x1e]
add eax, ebx
mov dword [0x140043ac4], eax
call fcn.140002fb4
mov rsi, rax
test rax, rax
je 0x14000588d
mov rcx, rax
call fcn.140003128
mov rbx, rax
test rax, rax
je 0x14000588d
mov rcx, rax
call fcn.140003700
mov ecx, 0x70
mov dword [0x1400439c8], eax
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov r13d, 1
test r13b, al
je 0x140005180
cmp dword [0x140043a98], r12d
mov ecx, r12d
sete cl
mov dword [0x140043a98], ecx
mov dword [0x140043ae0], ecx
call fcn.140004f18
mov ecx, 0x71
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test r13b, al
je 0x1400051ae
cmp dword [0x140043aa0], r12d
mov eax, r12d
sete al
mov dword [0x140043aa0], eax
mov dword [0x140043ae8], eax
call fcn.140004f18
mov ecx, 0x72
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test r13b, al
je 0x1400051dc
cmp dword [0x140043aa8], r12d
mov eax, r12d
sete al
mov dword [0x140043aa8], eax
mov dword [0x140043aec], eax
call fcn.140004f18
mov ecx, 0x73
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test r13b, al
je 0x14000520a
cmp dword [0x140043ab0], r12d
mov eax, r12d
sete al
mov dword [0x140043ab0], eax
mov dword [0x140043af4], eax
call fcn.140004f18
mov ecx, 0x74
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test r13b, al
je 0x140005238
cmp dword [0x140043a90], r12d
mov eax, r12d
sete al
mov dword [0x140043a90], eax
mov dword [0x140043ae4], eax
call fcn.140004f18
mov ecx, 0x7b
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test r13b, al
jne 0x1400058f0
call fcn.140003200
call fcn.140002fb4
mov rcx, rax
call fcn.140003128
mov rcx, rax
call fcn.140003700
mov dword [0x1400439c8], eax
test eax, eax
je 0x14000527d
sub eax, r13d
je 0x1400052bd
sub eax, r13d
je 0x1400052bd
sub eax, r13d
mov dword [0x140043acc], r13d
mov dword [0x140043aac], r13d
cmp dword [0x140043a98], r12d
mov edx, 0x13d
mov dword [0x140043ab4], edx
mov dword [0x140043a3c], 0x13a
mov dword [0x140043a94], 0x13e
je 0x1400052cd
mov eax, r13d
mov ecx, 0x32
jmp 0x1400052d5
mov dword [0x140043acc], r12d
mov dword [0x140043aac], r12d
jmp 0x14000528b
mov eax, 0x14
lea ecx, [rax - 0xa]
mov dword [0x140043aa4], ecx
mov ecx, edx
mov dword [0x140043a9c], eax
call fcn.14000331c
mov ecx, dword [0x140043a3c]
mov dword [0x1400439d0], eax
call fcn.14000331c
or eax, dword [0x1400439d0]
mov ecx, dword [0x140043a94]
mov dword [0x1400439d4], eax
call fcn.14000331c
or eax, dword [0x1400439d0]
mov dword [0x1400439cc], eax
call fcn.1400032bc
mov rcx, rbx
mov r14d, eax
call fcn.14000359c
mov rcx, rbx
mov r15d, eax
call fcn.140003658
mov rcx, rbx
movq xmm11, rax
movsd qword [rsp + 0x40], xmm11
call fcn.1400035f0
movaps xmm13, xmm0
call fcn.140003254
cmp dword [0x140043aa8], r12d
mulss xmm13, xmm0
je 0x140005373
movaps xmm2, xmm13
movq rdx, xmm11
mov ecx, r15d
call fcn.140005d6c
cmp dword [0x1400439cc], r12d
movss xmm8, dword [rsp + 0x40]
movss xmm6, dword [0x14003ba80]
movss xmm7, dword [0x14003ba84]
je 0x1400053b7
cmp dword [0x1400439c8], 3
jne 0x1400053a1
movaps xmm0, xmm6
jmp 0x1400053a4
movaps xmm0, xmm7
comiss xmm8, xmm0
jbe 0x1400053c5
mov rdx, rbx
mov ecx, r14d
call fcn.140005e10
jmp 0x1400053c5
mov qword [0x140043ad0], r12
mov dword [0x140043ac8], r12d
cmp dword [0x1400439d0], r12d
je 0x1400053f6
cmp dword [0x140043aa0], r12d
je 0x1400053f6
cmp dword [0x1400439c8], 3
je 0x1400053e3
movaps xmm6, xmm7
comiss xmm8, xmm6
jbe 0x140005404
mov rdx, rbx
mov ecx, r14d
call fcn.140005f1c
jmp 0x140005404
mov qword [0x140043ad0], r12
mov dword [0x140043ac8], r12d
cmp dword [0x140043ab0], r12d
mov rdi, r12
mov dword [0x140043ad8], r12d
mov qword [rsp + 0x40], r12
je 0x140005443
lea rax, [rsp + 0x40]
mov r9d, r15d
mov qword [rsp + 0x28], rax
mov r8, rbx
mov rdx, rsi
movsd qword [rsp + 0x20], xmm11
mov ecx, r14d
call fcn.140005ba0
mov rdi, qword [rsp + 0x40]
cmp qword [0x140043ad0], r12
jne 0x14000545c
mov dword [0x140043ac8], r12d
mov qword [0x140043ad0], rdi
jmp 0x1400054b2
mov rcx, qword [0x140043ad0]
call fcn.140003ac8
mov rcx, qword [0x140043ad0]
mov rdx, rax
call fcn.140003b20
test eax, eax
jne 0x1400054b2
mov qword [0x140043ad0], rdi
test rdi, rdi
jne 0x1400054b2
lea rax, [0x140043ad0]
mov dword [0x140043ac8], r12d
mov qword [rsp + 0x28], rax
mov r9d, r15d
mov r8, rbx
movsd qword [rsp + 0x20], xmm11
mov rdx, rsi
mov ecx, r14d
call fcn.140005ba0
mov rcx, rbx
call fcn.140003700
mov dword [0x1400439c8], eax
test eax, eax
je 0x1400054d9
sub eax, r13d
je 0x1400055c3
sub eax, r13d
je 0x1400055c3
sub eax, r13d
mov dword [0x140043acc], r13d
mov dword [0x140043aac], r13d
cmp dword [0x140043aa0], r12d
je 0x1400058a0
mov rcx, qword [0x140043ad0]
test rcx, rcx
je 0x1400058a0
cmp dword [0x1400439d4], r12d
je 0x1400058a0
call fcn.140003ac8
mov rsi, rax
test rax, rax
je 0x1400058a0
call fcn.140002f18
cmp dword [0x140043aac], r12d
xorps xmm8, xmm8
movss xmm6, dword [0x14003ba78]
xorps xmm9, xmm9
xorps xmm10, xmm10
movq xmm7, rax
movsd qword [rsp + 0x40], xmm7
je 0x14000567b
mov edx, dword [0x140043ac8]
test edx, edx
je 0x1400055d6
xor eax, eax
lea r8, [rbp - 0x80]
mov rcx, rsi
mov qword [rbp - 0x80], rax
mov dword [rbp - 0x78], eax
call fcn.140003c24
test eax, eax
je 0x1400058a0
movsd xmm0, qword [rbp - 0x80]
lea r8, [rsp + 0x30]
mov eax, dword [rbp - 0x78]
lea rcx, [rsp + 0x50]
mov r9d, r15d
movsd qword [rsp + 0x30], xmm0
mov rdx, rbx
mov dword [rsp + 0x38], eax
movsd qword [rsp + 0x20], xmm11
call fcn.1400058f8
lea rdx, [rsp + 0x60]
movsd xmm0, qword [rax]
mov ecx, dword [rax + 8]
movsd qword [rsp + 0x60], xmm0
mov dword [rsp + 0x68], ecx
jmp 0x1400056df
mov dword [0x140043acc], r12d
mov dword [0x140043aac], r12d
jmp 0x1400054e7
mov edi, 2
xor eax, eax
lea r8, [rbp - 0x80]
mov edx, edi
mov qword [rbp - 0x80], rax
mov rcx, rsi
mov dword [rbp - 0x78], eax
call fcn.140003c24
test eax, eax
je 0x14000566a
movsd xmm0, qword [rbp - 0x80]
lea r8, [rsp + 0x60]
mov eax, dword [rbp - 0x78]
lea rcx, [rsp + 0x70]
mov r9d, r15d
movsd qword [rsp + 0x60], xmm0
mov rdx, rbx
mov dword [rsp + 0x68], eax
movsd qword [rsp + 0x20], xmm11
call fcn.1400058f8
lea rdx, [rsp + 0x50]
mov ecx, dword [rax + 8]
movsd xmm0, qword [rax]
mov dword [rsp + 0x38], ecx
mov dword [rsp + 0x58], ecx
movq rcx, xmm7
movsd qword [rsp + 0x30], xmm0
movsd qword [rsp + 0x50], xmm0
call fcn.1400040e8
comiss xmm6, xmm0
jbe 0x14000566a
movss xmm9, dword [rsp + 0x30]
movaps xmm6, xmm0
movss xmm10, dword [rsp + 0x34]
mov dword [0x140043ac8], edi
add edi, r13d
cmp edi, 7
jb 0x1400055db
jmp 0x140005704
xor eax, eax
lea r8, [rbp - 0x80]
mov rcx, rsi
mov qword [rbp - 0x80], rax
mov dword [rbp - 0x78], eax
lea edx, [rax + 6]
call fcn.140003c24
test eax, eax
je 0x1400058a0
movsd xmm0, qword [rbp - 0x80]
lea r8, [rsp + 0x50]
mov eax, dword [rbp - 0x78]
lea rcx, [rsp + 0x70]
mov r9d, r15d
movsd qword [rsp + 0x50], xmm0
mov rdx, rbx
mov dword [rsp + 0x58], eax
movsd qword [rsp + 0x20], xmm11
call fcn.1400058f8
lea rdx, [rsp + 0x50]
movsd xmm0, qword [rax]
mov ecx, dword [rax + 8]
movsd qword [rsp + 0x50], xmm0
mov dword [rsp + 0x58], ecx
mov dword [rsp + 0x38], ecx
movq rcx, xmm7
movsd qword [rsp + 0x30], xmm0
call fcn.1400040e8
movss xmm9, dword [rsp + 0x30]
movaps xmm6, xmm0
movss xmm10, dword [rsp + 0x34]
cmp dword [0x140043ad8], r12d
jne 0x140005724
ucomiss xmm6, dword [0x14003ba78]
jp 0x140005718
je 0x140005724
mov rdx, qword [0x140043ad0]
call fcn.140004ef8
movd xmm0, dword [0x140043aa4]
cvtdq2ps xmm0, xmm0
comiss xmm6, xmm0
ja 0x1400058a0
mov rcx, rbx
call fcn.140003700
mov dword [0x1400439c8], eax
test eax, eax
je 0x14000575f
sub eax, r13d
je 0x140005803
sub eax, r13d
je 0x140005803
sub eax, r13d
mov dword [0x140043acc], r13d
mov dword [0x140043aac], r13d
movss xmm0, dword [rsp + 0x40]
lea rcx, [rsp + 0x30]
movss xmm1, dword [rsp + 0x44]
subss xmm0, xmm9
and dword [rsp + 0x38], r12d
subss xmm1, xmm10
movss dword [rsp + 0x30], xmm0
movss dword [rsp + 0x34], xmm1
call fcn.140004054
movss xmm7, dword [rsp + 0x34]
movss xmm6, dword [rsp + 0x30]
movd xmm1, dword [0x140043a9c]
movss xmm2, dword [0x14003ba28]
divss xmm7, xmm13
divss xmm6, xmm13
divss xmm7, dword [0x14003ba04]
divss xmm6, dword [0x14003ba7c]
cvtdq2ps xmm1, xmm1
comiss xmm1, xmm2
jb 0x140005862
movss xmm3, dword [0x14003baa0]
movaps xmm0, xmm7
andps xmm0, xmm3
comiss xmm0, xmm2
jbe 0x140005824
comiss xmm7, xmm8
jbe 0x140005816
divss xmm7, xmm1
addss xmm7, xmm2
jmp 0x140005824
mov dword [0x140043acc], r12d
mov dword [0x140043aac], r12d
jmp 0x14000576d
comiss xmm8, xmm7
jbe 0x140005824
divss xmm7, xmm1
subss xmm7, xmm2
movaps xmm0, xmm6
andps xmm0, xmm3
comiss xmm0, xmm2
jbe 0x14000584d
comiss xmm6, xmm8
jbe 0x14000583f
divss xmm6, xmm1
addss xmm6, xmm2
jmp 0x14000584d
comiss xmm8, xmm6
jbe 0x14000584d
divss xmm6, xmm1
subss xmm6, xmm2
divss xmm1, dword [0x14003ba64]
cvttss2si rbx, xmm1
add ebx, r13d
shl ebx, 4
jmp 0x140005867
mov ebx, 0x10
call fcn.140002e44
mov ecx, eax
sub ecx, dword [0x140043ac0]
cmp ecx, ebx
jbe 0x1400058a0
cvttss2si edx, xmm6
mov dword [0x140043ac0], eax
cvttss2si ecx, xmm7
call fcn.140007b88
jmp 0x1400058a0
cmp dword [0x140043adc], r12d
je 0x14000589b
call fcn.140007bcc
call fcn.140004eb8
mov rcx, qword [rbp - 0x70]
xor rcx, rsp
call fcn.14000a150
lea r11, [rsp + 0x110]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, 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]
movaps xmm13, xmmword [r11 - 0x70]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
xor ecx, ecx
call fcn.140013140
int3