Function at 0x140046170
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 [0x1400a2010]
xor rax, rsp
mov qword [rbp + 0x20], rax
xor r13d, r13d
mov dword [rsp + 0x38], r13d
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
mov qword [rbp + 0x10], r13
mov r14d, 0xf
mov qword [rbp + 0x18], r14
mov byte [rbp], r13b
xor eax, eax
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x18], xmm1
mov qword [rsp + 0x40], rax
mov qword [rbp - 8], rax
mov rdx, qword [0x1400a3230]
sub rdx, qword [0x1400a3228]
sar rdx, 5
test rdx, rdx
je 0x140046270
movabs rax, 0x7ffffffffffffff
cmp rdx, rax
ja 0x140046992
lea rcx, [rbp - 0x18]
call fcn.14005e640
mov rdi, qword [0x1400a3230]
mov rdx, qword [0x1400a3228]
sub rdi, rdx
mov r8, rdi
mov rsi, qword [rbp - 0x18]
mov rcx, rsi
call sub.VCRUNTIME140.dll_memmove
and rdi, 0xffffffffffffffe0
add rdi, rsi
mov qword [rbp - 0x10], rdi
mov rax, qword [rbp - 8]
mov qword [rsp + 0x40], rax
jmp 0x140046278
mov rdi, qword [rbp - 0x10]
mov rsi, qword [rbp - 0x18]
mov qword [rsp + 0x38], rdi
call fcn.1400591f0
cmp byte [rax + 0x107], 0
je 0x140046301
mov ecx, 4
call fcn.14000e700
test al, al
jne 0x140046301
mov rax, qword [0x1400a3088]
cmp dword [rax + 0x1c5c], 0
jne 0x140046301
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov rbx, rax
call fcn.1400598b0
cmp rbx, qword [rax + 0x18]
jne 0x140046301
call fcn.1400591f0
movsxd rcx, dword [rax + 0x198]
lea r15, [0x140071f50]
mov ecx, dword [r15 + rcx*4]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movzx ebx, ax
call fcn.1400591f0
movsxd rcx, dword [rax + 0x19c]
mov ecx, dword [r15 + rcx*4]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test bx, bx
jne 0x1400462fd
test ax, ax
je 0x140046301
mov bl, 1
jmp 0x140046303
xor bl, bl
call fcn.1400591f0
movzx eax, byte [rax + 0x108]
mov byte [rsp + 0x30], al
test bl, bl
je 0x1400468b9
movss xmm11, dword [0x140095140]
movaps xmm10, xmm11
xorps xmm7, xmm7
movups xmmword [rsp + 0x78], xmm7
xorps xmm8, xmm8
movups xmmword [rbp - 0x78], xmm8
xorps xmm9, xmm9
cmp rsi, rdi
je 0x1400466ac
lea r14, [rsi + 0x10]
movss xmm13, dword [0x1400950d4]
movss xmm12, dword [0x140094fb8]
nop dword [rax]
call fcn.140059500
mov ecx, dword [rax + 0xe4]
add rcx, qword [r14]
call fcn.14005bf60
movaps xmm6, xmm0
call fcn.140059500
mov ecx, dword [rax + 0xe8]
add rcx, qword [r14]
call fcn.14005bf60
mulss xmm6, xmm13
divss xmm6, xmm0
call fcn.140059500
mov ecx, dword [rax + 0x13c]
add rcx, qword [r14]
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
mov r8d, 0x10
lea rdx, [rsp + 0x48]
call fcn.140001070
lea rdx, [rbp - 0x38]
lea rcx, [rsp + 0x48]
call fcn.14003d9e0
nop
call fcn.140059500
mov ecx, dword [rax + 0x144]
add rcx, qword [r14]
call fcn.14005c000
mov byte [rsp + 0x31], al
lea rdi, [rbp - 0x38]
cmp qword [rbp - 0x20], 0x10
setae r12b
mov r15, qword [rbp - 0x38]
cmovae rdi, r15
mov rsi, qword [rbp - 0x28]
cmp rsi, 1
jb 0x140046447
lea rbx, [rsi + rdi]
mov r8, rsi
mov edx, 0x2d
mov rcx, rdi
call sub.VCRUNTIME140.dll_memchr
test rax, rax
je 0x140046447
cmp byte [rax], 0x2d
jne 0x14004641f
xor ecx, ecx
jmp 0x140046424
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x1400464bf
inc rax
mov r8, rbx
sub r8, rax
mov edx, 0x2d
mov rcx, rax
call sub.VCRUNTIME140.dll_memchr
test rax, rax
jne 0x140046416
mov rax, 0xffffffffffffffff
cmp rax, 3
jne 0x1400464d2
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
xor ebx, ebx
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x70], rbx
mov r8, rax
cmp rsi, rax
cmovb r8, rsi
lea rdx, [rbp - 0x38]
test r12b, r12b
cmovne rdx, r15
lea rcx, [rsp + 0x58]
call fcn.14005cf40
or r13d, 3
lea rax, [rsp + 0x58]
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x70]
cmp rdx, 0x10
cmovae rax, rcx
cmp qword [rsp + 0x68], 3
jne 0x1400464dc
cmp byte [rax], 0x30
jne 0x1400464c4
cmp byte [rax + 1], 0x30
jne 0x1400464c4
cmp byte [rax + 2], 0x30
jne 0x1400464c4
mov eax, ebx
jmp 0x1400464c9
sub rax, rdi
jmp 0x14004644e
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1400464dc
mov dil, 1
jmp 0x1400464df
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x58]
xor dil, dil
test r13b, 1
je 0x14004651c
and r13d, 0xfffffffe
cmp rdx, 0x10
jb 0x14004651c
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140046517
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004677e
call fcn.140069ce0
call fcn.140059500
mov ecx, dword [rax + 0x100]
add rcx, qword [r14]
call fcn.14005b800
mov rsi, rax
call fcn.140059500
mov ebx, dword [rax + 0x100]
call fcn.1400598b0
mov rcx, qword [rax + 0x80]
add rcx, rbx
call fcn.14005b800
mov rbx, rax
call fcn.140059500
mov edx, dword [rax + 0x140]
mov rcx, qword [r14]
add rcx, rdx
call fcn.14005bed0
cmp qword [r14 - 8], 0
je 0x140046654
ucomiss xmm6, xmm9
jp 0x140046581
je 0x140046654
cmp dil, 1
jne 0x140046592
cmp byte [rsp + 0x30], 0
jne 0x140046654
cmp byte [rsp + 0x31], 2
jne 0x1400465ab
call fcn.1400591f0
cmp byte [rax + 0x10b], 0
jne 0x140046654
cmp rsi, rbx
je 0x140046654
lea rdx, [r14 - 0x10]
lea rcx, [rbp - 0x48]
call fcn.140046000
call fcn.1400598b0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [rax + 0x28]
mulss xmm0, xmm12
movss xmm6, dword [rbp - 0x48]
subss xmm6, xmm0
call fcn.1400598b0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [rax + 0x24]
mulss xmm0, xmm12
movss xmm1, dword [rbp - 0x44]
subss xmm1, xmm0
mulss xmm1, xmm1
mulss xmm6, xmm6
addss xmm1, xmm6
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x140046614
xorps xmm6, xmm6
sqrtss xmm6, xmm1
jmp 0x14004661f
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm6, xmm0
comiss xmm11, xmm6
jb 0x140046654
comiss xmm10, xmm6
jb 0x140046654
call fcn.1400591f0
movss xmm1, dword [rax + 0x1a4]
comiss xmm1, xmm6
jb 0x140046654
movaps xmm10, xmm6
movups xmm7, xmmword [r14 - 0x10]
movups xmmword [rsp + 0x78], xmm7
movups xmm8, xmmword [r14]
movups xmmword [rbp - 0x78], xmm8
mov rdx, qword [rbp - 0x20]
cmp rdx, 0x10
jb 0x14004668f
mov rcx, qword [rbp - 0x38]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004668a
mov rcx, qword [rcx - 8]
sub rax, rcx
add rdx, 0x27
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140046785
call fcn.140069ce0
add r14, 0x20
lea rax, [r14 - 0x10]
cmp rax, qword [rsp + 0x38]
jne 0x140046360
mov rsi, qword [rbp - 0x18]
mov r14d, 0xf
movdqa xmm0, xmm7
psrldq xmm0, 8
movq rax, xmm0
test rax, rax
jne 0x1400466df
movq rax, xmm7
test rax, rax
jne 0x1400466df
movdqa xmm0, xmm8
psrldq xmm0, 8
movd eax, xmm0
test eax, eax
je 0x1400468bd
call fcn.140059500
mov ecx, dword [rax + 0x13c]
movq rax, xmm8
add rcx, rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
mov r8d, 0x10
lea rdx, [rsp + 0x48]
call fcn.140001070
lea rdx, [rbp - 0x68]
lea rcx, [rsp + 0x48]
call fcn.14003d9e0
lea rcx, [rbp]
cmp rcx, rax
je 0x140046745
movups xmm0, xmmword [rax]
movups xmmword [rbp], 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 - 0x50]
cmp rdx, 0x10
jb 0x140046791
inc rdx
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004678c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004678c
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.140069ce0
lea rdx, [rsp + 0x78]
lea rcx, [rbp - 0x48]
call fcn.140046000
call fcn.1400598b0
mov eax, dword [rax + 0x28]
cdq
sub eax, edx
sar eax, 1
movd xmm7, eax
cvtdq2ps xmm7, xmm7
call fcn.1400598b0
mov eax, dword [rax + 0x24]
cdq
sub eax, edx
sar eax, 1
movd xmm6, eax
cvtdq2ps xmm6, xmm6
call fcn.1400591f0
movss xmm5, dword [rax + 0x1a0]
movaps xmm3, xmm9
movaps xmm2, xmm9
movss xmm8, dword [0x140095360]
movss xmm4, dword [rbp - 0x48]
ucomiss xmm4, xmm9
jp 0x1400467f2
je 0x14004683e
comiss xmm4, xmm7
jbe 0x14004681d
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 0x14004681d
movaps xmm3, xmm9
comiss xmm7, xmm4
jbe 0x14004683e
movaps xmm3, xmm4
subss xmm3, xmm7
divss xmm3, xmm5
movaps xmm0, xmm3
addss xmm0, xmm7
comiss xmm9, xmm0
jbe 0x14004683e
movaps xmm3, xmm9
movss xmm4, dword [rbp - 0x44]
ucomiss xmm4, xmm9
jp 0x14004684b
je 0x140046897
comiss xmm4, xmm6
jbe 0x140046876
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 0x140046876
movaps xmm2, xmm9
comiss xmm6, xmm4
jbe 0x140046897
movaps xmm2, xmm4
subss xmm2, xmm6
divss xmm2, xmm5
movaps xmm0, xmm2
addss xmm0, xmm6
comiss xmm9, xmm0
jbe 0x140046897
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 0x1400468bd
mov byte [rbp], 0
test rsi, rsi
je 0x140046902
mov rcx, qword [rsp + 0x40]
sub rcx, rsi
and rcx, 0xffffffffffffffe0
mov rax, rsi
cmp rcx, 0x1000
jb 0x1400468f6
add rcx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400468f6
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.140069ce0
nop
cmp r14, 0x10
jb 0x14004693d
lea rdx, [r14 + 1]
mov rcx, qword [rbp]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140046938
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140046938
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140069ce0
mov rcx, qword [rbp + 0x20]
xor rcx, rsp
call fcn.140069bf0
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.14005b0a0
nop
int3