Function at 0x140047cb0
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 - 0xd8]
sub rsp, 0x1b0
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
mov rax, qword [0x1400a9040]
xor rax, rsp
mov qword [rbp + 0x28], rax
mov dword [rsp + 0x34], 0
xorps xmm0, xmm0
movups xmmword [rbp + 8], xmm0
mov qword [rbp + 0x18], 0
mov r14d, 0xf
mov qword [rbp + 0x20], r14
mov byte [rbp + 8], 0
xor eax, eax
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x10], xmm1
mov qword [rsp + 0x48], rax
mov qword [rbp], rax
mov rdx, qword [0x1400aa440]
sub rdx, qword [0x1400aa438]
sar rdx, 5
test rdx, rdx
je 0x140047db4
movabs rax, 0x7ffffffffffffff
cmp rdx, rax
ja 0x1400485a0
lea rcx, [rbp - 0x10]
call fcn.1400627b0
mov rdi, qword [0x1400aa440]
mov rdx, qword [0x1400aa438]
sub rdi, rdx
mov r8, rdi
mov rsi, qword [rbp - 0x10]
mov rcx, rsi
call sub.VCRUNTIME140.dll_memmove
and rdi, 0xffffffffffffffe0
add rdi, rsi
mov qword [rbp - 8], rdi
mov rax, qword [rbp]
mov qword [rsp + 0x48], rax
jmp 0x140047dbc
mov rdi, qword [rbp - 8]
mov rsi, qword [rbp - 0x10]
mov qword [rsp + 0x40], rdi
call fcn.14005ba70
cmp byte [rax + 0xfd], 0
je 0x140047e45
mov ecx, 4
call fcn.14000edc0
test al, al
jne 0x140047e45
mov rax, qword [0x1400aa2b8]
cmp dword [rax + 0x1c5c], 0
jne 0x140047e45
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov rbx, rax
call fcn.14005c0e0
cmp rbx, qword [rax + 0x18]
jne 0x140047e45
call fcn.14005ba70
movsxd rcx, dword [rax + 0x1e0]
lea r15, [0x1400783a8]
mov ecx, dword [r15 + rcx*4]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movzx ebx, ax
call fcn.14005ba70
movsxd rcx, dword [rax + 0x1e4]
mov ecx, dword [r15 + rcx*4]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test bx, bx
jne 0x140047e41
test ax, ax
je 0x140047e45
mov bl, 1
jmp 0x140047e47
xor bl, bl
call fcn.14005ba70
movzx eax, byte [rax + 0xfe]
mov byte [rsp + 0x30], al
test bl, bl
je 0x1400484c7
movss xmm12, dword [0x14009b414]
movaps xmm10, xmm12
xorps xmm7, xmm7
movups xmmword [rbp - 0x80], xmm7
xorps xmm8, xmm8
movups xmmword [rbp - 0x70], xmm8
xorps xmm9, xmm9
cmp rsi, rdi
je 0x1400482bb
lea r14, [rsi + 0x10]
movss xmm13, dword [0x14009b3a0]
movss xmm11, dword [0x14009b284]
nop
call fcn.14005bda0
mov ecx, dword [rax + 0xa4]
add rcx, qword [r14]
call fcn.14005ea00
movaps xmm6, xmm0
call fcn.14005bda0
mov ecx, dword [rax + 0xa8]
add rcx, qword [r14]
call fcn.14005ea00
mulss xmm6, xmm13
divss xmm6, xmm0
call fcn.14005bda0
mov ecx, dword [rax + 0xec]
add rcx, qword [r14]
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
mov r8d, 0x10
lea rdx, [rsp + 0x50]
call fcn.1400014b0
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x50]
call fcn.14003f960
nop
call fcn.14005bda0
mov ecx, dword [rax + 0xfc]
add rcx, qword [r14]
call fcn.14005eaa0
mov byte [rsp + 0x31], al
call fcn.14005bda0
mov ebx, dword [rax + 0xb0]
call fcn.14005bda0
mov edx, dword [rax + 0xac]
add rdx, rbx
mov rcx, qword [r14]
add rcx, rdx
call fcn.14005e970
mov esi, eax
call fcn.14005bda0
mov edx, dword [rax + 0xf8]
mov rcx, qword [r14]
add rcx, rdx
call fcn.14005e970
mov dword [rsp + 0x38], eax
xor edi, edi
mov ebx, 0xc8
call fcn.14005ba70
cmp dword [rax + rbx], esi
je 0x140047f7c
inc edi
add rbx, 4
cmp edi, 6
jb 0x140047f65
xor edi, edi
lea rbx, [rbp - 0x40]
cmp qword [rbp - 0x28], 0xf
seta r13b
mov r12, qword [rbp - 0x40]
cmova rbx, r12
mov r15, qword [rbp - 0x30]
cmp r15, 1
jb 0x140047fe5
lea rsi, [r15 + rbx]
mov r8, r15
mov edx, 0x2d
mov rcx, rbx
call sub.VCRUNTIME140.dll_memchr
test rax, rax
je 0x140047fe5
cmp byte [rax], 0x2d
jne 0x140047fbd
xor ecx, ecx
jmp 0x140047fc2
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x14004806b
inc rax
mov r8, rsi
sub r8, rax
mov edx, 0x2d
mov rcx, rax
call sub.VCRUNTIME140.dll_memchr
test rax, rax
jne 0x140047fb4
mov rax, 0xffffffffffffffff
cmp rax, 3
jne 0x140048081
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
xor ebx, ebx
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x78], rbx
mov r8, rax
cmp r15, rax
cmovb r8, r15
lea rdx, [rbp - 0x40]
test r13b, r13b
cmovne rdx, r12
lea rcx, [rsp + 0x60]
call fcn.140060ac0
mov r12d, dword [rsp + 0x34]
or r12d, 3
mov dword [rsp + 0x34], r12d
lea rax, [rsp + 0x60]
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x78]
cmp rdx, 0xf
cmova rax, rcx
cmp qword [rsp + 0x70], 3
jne 0x140048090
cmp byte [rax], 0x30
jne 0x140048073
cmp byte [rax + 1], 0x30
jne 0x140048073
cmp byte [rax + 2], 0x30
jne 0x140048073
mov eax, ebx
jmp 0x140048078
sub rax, rbx
jmp 0x140047fec
sbb eax, eax
or eax, 1
test eax, eax
jne 0x140048090
lea esi, [rax + 2]
jmp 0x140048095
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x60]
mov r12d, dword [rsp + 0x34]
mov esi, 1
test r12b, 1
je 0x1400480d7
and r12d, 0xfffffffe
mov dword [rsp + 0x34], r12d
cmp rdx, 0xf
jbe 0x1400480d7
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400480d2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004838d
call fcn.14006f2c0
call fcn.14005bda0
mov ecx, dword [rax + 0xc0]
add rcx, qword [r14]
call fcn.14005e1c0
mov r15, rax
call fcn.14005bda0
mov ebx, dword [rax + 0xc0]
call fcn.14005c0e0
mov rcx, qword [rax + 0x80]
add rcx, rbx
call fcn.14005e1c0
mov rbx, rax
call fcn.14005bda0
mov edx, dword [rax + 0xf8]
mov rcx, qword [r14]
add rcx, rdx
call fcn.14005e970
cmp qword [r14 - 8], 0
je 0x140048263
ucomiss xmm6, xmm9
jp 0x14004813c
je 0x140048263
cmp esi, 2
jne 0x14004814c
cmp byte [rsp + 0x30], 0
jne 0x140048263
cmp byte [rsp + 0x31], 2
jne 0x140048165
call fcn.14005ba70
cmp byte [rax + 0xff], 0
jne 0x140048263
cmp r15, rbx
je 0x140048263
call fcn.14005c0e0
mov rcx, qword [r14 - 0x10]
cmp rcx, qword [rax + 0x58]
je 0x140048263
cmp qword [r14 - 8], 0
je 0x140048263
cmp qword [r14], 0
je 0x140048263
test rcx, rcx
je 0x140048263
cmp dword [rsp + 0x38], 0x1d4dc
jne 0x1400481c4
cmp esi, 1
jne 0x1400481c4
call fcn.14005ba70
cmp byte [rax + 0x103], 0
je 0x1400481c4
test edi, edi
je 0x140048263
lea rdx, [r14 - 0x10]
lea rcx, [rbp - 0x20]
call fcn.140047b00
call fcn.14005c0e0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [rax + 0x28]
mulss xmm0, xmm11
movss xmm6, dword [rbp - 0x20]
subss xmm6, xmm0
call fcn.14005c0e0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [rax + 0x24]
mulss xmm0, xmm11
movss xmm1, dword [rbp - 0x1c]
subss xmm1, xmm0
mulss xmm1, xmm1
mulss xmm6, xmm6
addss xmm1, xmm6
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x140048224
xorps xmm6, xmm6
sqrtss xmm6, xmm1
jmp 0x14004822f
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm6, xmm0
comiss xmm12, xmm6
jb 0x140048263
comiss xmm10, xmm6
jb 0x140048263
call fcn.14005ba70
movss xmm1, dword [rax + 0x1ec]
comiss xmm1, xmm6
jb 0x140048263
movaps xmm10, xmm6
movups xmm7, xmmword [r14 - 0x10]
movups xmmword [rbp - 0x80], xmm7
movups xmm8, xmmword [r14]
movups xmmword [rbp - 0x70], xmm8
mov rdx, qword [rbp - 0x28]
cmp rdx, 0xf
jbe 0x14004829e
mov rcx, qword [rbp - 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140048299
mov rcx, qword [rcx - 8]
sub rax, rcx
add rdx, 0x27
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140048394
call fcn.14006f2c0
add r14, 0x20
lea rax, [r14 - 0x10]
cmp rax, qword [rsp + 0x40]
jne 0x140047ea0
mov rsi, qword [rbp - 0x10]
mov r14d, 0xf
movdqa xmm0, xmm7
psrldq xmm0, 8
movq rax, xmm0
test rax, rax
jne 0x1400482ee
movq rax, xmm7
test rax, rax
jne 0x1400482ee
movdqa xmm0, xmm8
psrldq xmm0, 8
movd eax, xmm0
test eax, eax
je 0x1400484cb
call fcn.14005bda0
mov ecx, dword [rax + 0xec]
movq rax, xmm8
add rcx, rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
mov r8d, 0x10
lea rdx, [rsp + 0x50]
call fcn.1400014b0
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x50]
call fcn.14003f960
lea rcx, [rbp + 8]
cmp rcx, rax
je 0x140048354
movups xmm0, xmmword [rax]
movups xmmword [rbp + 8], xmm0
movups xmm1, xmmword [rax + 0x10]
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], r14
mov byte [rax], 0
psrldq xmm1, 8
movq r14, xmm1
mov rdx, qword [rbp - 0x48]
cmp rdx, 0xf
jbe 0x1400483a0
inc rdx
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004839b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004839b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14006f2c0
lea rdx, [rbp - 0x80]
lea rcx, [rbp - 0x20]
call fcn.140047b00
call fcn.14005c0e0
mov eax, dword [rax + 0x28]
cdq
sub eax, edx
sar eax, 1
movd xmm7, eax
cvtdq2ps xmm7, xmm7
call fcn.14005c0e0
mov eax, dword [rax + 0x24]
cdq
sub eax, edx
sar eax, 1
movd xmm6, eax
cvtdq2ps xmm6, xmm6
call fcn.14005ba70
movss xmm5, dword [rax + 0x1e8]
movaps xmm3, xmm9
movaps xmm2, xmm9
movss xmm8, dword [0x14009b620]
movss xmm4, dword [rbp - 0x20]
ucomiss xmm4, xmm9
jp 0x140048400
je 0x14004844c
comiss xmm4, xmm7
jbe 0x14004842b
movaps xmm3, xmm7
subss xmm3, xmm4
xorps xmm3, xmm8
divss xmm3, xmm5
movaps xmm1, xmm3
addss xmm1, xmm7
movaps xmm0, xmm7
addss xmm0, xmm7
comiss xmm1, xmm0
jbe 0x14004842b
movaps xmm3, xmm9
comiss xmm7, xmm4
jbe 0x14004844c
movaps xmm3, xmm4
subss xmm3, xmm7
divss xmm3, xmm5
movaps xmm0, xmm3
addss xmm0, xmm7
comiss xmm9, xmm0
jbe 0x14004844c
movaps xmm3, xmm9
movss xmm4, dword [rbp - 0x1c]
ucomiss xmm4, xmm9
jp 0x140048459
je 0x1400484a5
comiss xmm4, xmm6
jbe 0x140048484
movaps xmm2, xmm6
subss xmm2, xmm4
xorps xmm2, xmm8
divss xmm2, xmm5
movaps xmm1, xmm2
addss xmm1, xmm6
movaps xmm0, xmm6
addss xmm0, xmm6
comiss xmm1, xmm0
jbe 0x140048484
movaps xmm2, xmm9
comiss xmm6, xmm4
jbe 0x1400484a5
movaps xmm2, xmm4
subss xmm2, xmm6
divss xmm2, xmm5
movaps xmm0, xmm2
addss xmm0, xmm6
comiss xmm9, xmm0
jbe 0x1400484a5
movaps xmm2, xmm9
cvttss2si r8, xmm2
cvttss2si rdx, xmm3
mov qword [rsp + 0x20], 0
xor r9d, r9d
lea ecx, [r9 + 1]
call qword [sym.imp.USER32.dll_mouse_event]
jmp 0x1400484cb
mov byte [rbp + 8], 0
test rsi, rsi
je 0x140048510
mov rcx, qword [rsp + 0x48]
sub rcx, rsi
and rcx, 0xffffffffffffffe0
mov rax, rsi
cmp rcx, 0x1000
jb 0x140048504
add rcx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140048504
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rdx, rcx
mov rcx, rsi
call fcn.14006f2c0
nop
cmp r14, 0xf
jbe 0x14004854b
lea rdx, [r14 + 1]
mov rcx, qword [rbp + 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140048546
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140048546
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14006f2c0
mov rcx, qword [rbp + 0x28]
xor rcx, rsp
call fcn.14006f1d0
lea r11, [rsp + 0x1b0]
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 xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.14005da70
nop
int3