Function at 0x140032e10
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 - 0x148]
sub rsp, 0x220
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
movaps xmmword [rax - 0xb8], xmm14
movaps xmmword [rax - 0xc8], xmm15
mov rax, qword [0x140047010]
xor rax, rsp
mov qword [rbp + 0x70], rax
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x38], xmm1
xor r12d, r12d
mov qword [rsp + 0x48], r12
mov qword [rbp + 0x48], r12
mov rdx, qword [0x140047c80]
add rdx, 0x5c80950
mov ecx, dword [0x140047c78]
call fcn.140035160
mov rbx, rax
test rax, rax
je 0x1400336ba
lea rdx, [rax + 0x30]
mov ecx, dword [0x140047c78]
call fcn.140035160
mov r14, rax
test rax, rax
je 0x1400336ba
lea rdx, [rbx + 0x160]
mov ecx, dword [0x140047c78]
call fcn.140035160
test rax, rax
je 0x1400336ba
lea rdx, [rax + 0x38]
mov ecx, dword [0x140047c78]
call fcn.140035160
test rax, rax
je 0x1400336ba
mov ecx, dword [0x140047c78]
mov rdx, rax
call fcn.140035160
mov qword [0x140047ce0], rax
test rax, rax
je 0x1400336ba
lea rdx, [rax + 0x30]
mov ecx, dword [0x140047c78]
call fcn.140035160
test rax, rax
je 0x1400336ba
lea rdx, [rax + 0x2a0]
mov ecx, dword [0x140047c78]
call fcn.140035160
mov qword [0x140047cf0], rax
test rax, rax
je 0x1400336ba
lea rdx, [rax + 0x130]
mov ecx, dword [0x140047c78]
call fcn.140035160
mov qword [0x140047d00], rax
lea r8, [rax + 0x11c]
mov edx, dword [0x140047c78]
lea rcx, [rbp - 0x20]
call fcn.140035480
movsd xmm0, qword [rax]
movsd qword [0x140048298], xmm0
mov eax, dword [rax + 8]
mov dword [0x1400482a0], eax
mov rdx, qword [0x140047cf0]
add rdx, 0x18
mov ecx, dword [0x140047c78]
xor r8d, r8d
call fcn.140035790
mov dword [0x140047cdc], eax
mov rdx, qword [0x140047cf0]
add rdx, 0x240
mov ecx, dword [0x140047c78]
call fcn.140035160
lea rdx, [rax + 0xed8]
mov ecx, dword [0x140047c78]
xor r8d, r8d
call fcn.140035790
mov r15d, eax
mov dword [rsp + 0x34], eax
mov rdi, qword [0x140047d00]
mov rdx, qword [0x140047ce0]
add rdx, 0xb0
mov ecx, dword [0x140047c78]
call fcn.140035160
mov rbx, rax
lea rdx, [rdi + 0x12c]
mov ecx, dword [0x140047c78]
call fcn.1400352f0
lea rdx, [rbx + 0x678]
mov ecx, dword [0x140047c78]
call fcn.1400352f0
xor esi, esi
lea r13, [r14 + 0xa0]
mov ecx, dword [0x140047c78]
xor r8d, r8d
mov rdx, r13
call fcn.140035790
test eax, eax
jle 0x1400331f3
lea rax, [r14 + 0x98]
mov qword [rsp + 0x38], rax
mov r14, qword [rbp + 0x38]
nop dword [rax]
nop word [rax + rax]
mov ecx, dword [0x140047c78]
mov rdx, rax
call fcn.140035160
test rax, rax
je 0x1400336be
movsxd rcx, esi
lea rdx, [rax + rcx*8]
mov ecx, dword [0x140047c78]
call fcn.140035160
mov rbx, rax
test rax, rax
je 0x1400331cc
lea rdx, [rax + 0x280]
mov ecx, dword [0x140047c78]
call fcn.140035160
mov r15, rax
test rax, rax
je 0x1400331cc
lea rdx, [rbx + 0x18]
mov ecx, dword [0x140047c78]
xor r8d, r8d
call fcn.140035790
mov edi, eax
test eax, eax
je 0x1400331cc
lea rdx, [rbx + 0x542]
mov ecx, dword [0x140047c78]
call fcn.140035920
test al, al
je 0x1400331cc
movzx eax, al
cmp edi, dword [0x140047cdc]
je 0x14003311c
cmp dword [0x140047cf8], eax
jne 0x140033181
mov dword [0x140047cf8], eax
xorps xmm1, xmm1
movdqu xmmword [rbp], xmm1
mov dword [rbp + 0x14], 0
mov qword [rbp - 0x10], rbx
mov dword [rbp + 0x10], edi
mov qword [rbp - 8], r15
mov rdi, qword [rbp + 0x40]
cmp rdi, r12
je 0x140033164
movups xmm0, xmmword [rbp - 0x10]
movups xmmword [rdi], xmm0
movups xmmword [rdi + 0x10], xmm1
movsd xmm0, qword [rbp + 0x10]
movsd qword [rdi + 0x20], xmm0
add rdi, 0x28
mov qword [rbp + 0x40], rdi
jmp 0x140033185
lea r8, [rbp - 0x10]
mov rdx, rdi
lea rcx, [rbp + 0x38]
call fcn.140035e50
mov r12, qword [rbp + 0x48]
mov qword [rsp + 0x48], r12
mov r14, qword [rbp + 0x38]
mov rdi, qword [rbp + 0x40]
mov rbx, r14
cmp r14, rdi
je 0x1400331cc
nop dword [rax]
mov rdx, qword [rbx]
cmp rdx, qword [0x140047cf0]
je 0x1400331c3
add rdx, 0x240
mov ecx, dword [0x140047c78]
call fcn.140035160
lea rdx, [rax + 0xed8]
mov ecx, dword [0x140047c78]
xor r8d, r8d
call fcn.140035790
add rbx, 0x28
cmp rbx, rdi
jne 0x140033190
inc esi
mov ecx, dword [0x140047c78]
xor r8d, r8d
mov rdx, r13
call fcn.140035790
cmp esi, eax
mov rax, qword [rsp + 0x38]
jl 0x140033080
mov r15d, dword [rsp + 0x34]
jmp 0x1400331f7
mov r14, qword [rbp + 0x38]
mov rbx, qword [rbp + 0x40]
cmp r14, rbx
je 0x1400336be
xor al, al
mov byte [rsp + 0x30], al
movss xmm13, dword [0x140040e08]
xorps xmm8, xmm8
xorps xmm12, xmm12
xorps xmm11, xmm11
mov rdi, r14
mov qword [rsp + 0x38], r14
nop word [rax + rax]
mov rdx, qword [rdi]
cmp rdx, qword [0x140047cf0]
je 0x140033648
add rdx, 0x130
mov ecx, dword [0x140047c78]
call fcn.140035160
mov rsi, rax
test rax, rax
je 0x140033643
mov rdx, qword [rdi]
add rdx, 0x240
mov ecx, dword [0x140047c78]
call fcn.140035160
lea rdx, [rax + 0xed0]
mov ecx, dword [0x140047c78]
xor r8d, r8d
call fcn.140035790
mov r14d, eax
mov r8d, 0x42
mov rdx, qword [rdi + 8]
lea rcx, [rsp + 0x50]
call fcn.140032600
xor r8d, r8d
mov rdx, qword [rdi + 8]
lea rcx, [rbp - 0x70]
call fcn.140032600
movss xmm2, dword [rsp + 0x58]
addss xmm2, dword [0x140040dc0]
movss xmm0, dword [rsp + 0x50]
movss dword [rsp + 0x60], xmm0
movss xmm1, dword [rsp + 0x54]
movss dword [rsp + 0x64], xmm1
movss dword [rsp + 0x68], xmm2
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x18]
call fcn.140031ca0
movsd xmm0, qword [rbp - 0x70]
movsd qword [rbp - 0x60], xmm0
mov eax, dword [rbp - 0x68]
mov dword [rbp - 0x58], eax
lea rdx, [rbp - 0x60]
lea rcx, [rbp - 0x30]
call fcn.140031ca0
call fcn.1400329a0
mov r8d, eax
mov rdx, qword [rdi + 8]
lea rcx, [rsp + 0x70]
call fcn.140032600
movss xmm15, dword [rbp + 0x1c]
movaps xmm9, xmm15
subss xmm9, dword [rbp - 0x2c]
comiss xmm8, xmm9
jbe 0x14003333b
mulss xmm9, dword [0x140040e14]
cvtps2pd xmm0, xmm9
mulsd xmm0, qword [0x140040d58]
cvtpd2ps xmm14, xmm0
lea r8, [rsi + 0x11c]
mov edx, dword [0x140047c78]
lea rcx, [rbp + 0x50]
call fcn.140035480
movss xmm0, dword [rbp + 0x50]
ucomiss xmm0, xmm8
jp 0x140033380
jne 0x140033380
movss xmm0, dword [rbp + 0x54]
ucomiss xmm0, xmm8
jp 0x140033380
je 0x140033643
movsd xmm0, qword [rbp + 0x50]
movsd qword [rbp - 0x50], xmm0
mov eax, dword [rbp + 0x58]
mov dword [rbp - 0x48], eax
lea rdx, [rbp - 0x50]
lea rcx, [rbp - 0x40]
call fcn.140031ca0
movss xmm0, dword [rbp - 0x40]
ucomiss xmm0, xmm8
jp 0x1400333bb
jne 0x1400333bb
movss xmm0, dword [rbp - 0x3c]
ucomiss xmm0, xmm8
jp 0x1400333bb
je 0x140033643
movss xmm1, dword [rbp + 0x50]
subss xmm1, dword [0x140048298]
movss xmm2, dword [rbp + 0x54]
subss xmm2, dword [0x14004829c]
movss xmm0, dword [rbp + 0x58]
subss xmm0, dword [0x1400482a0]
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm2, xmm1
mulss xmm0, xmm0
addss xmm2, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x140033407
xorps xmm6, xmm6
sqrtss xmm6, xmm2
jmp 0x140033412
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm6, xmm0
divss xmm6, dword [0x140040dd0]
cmp r14d, r15d
je 0x140033643
movss xmm0, dword [0x140040de0]
comiss xmm0, xmm6
jb 0x140033643
mov r8, qword [rdi]
add r8, 0x140
mov edx, dword [0x140047c78]
lea rcx, [rbp + 0x60]
call fcn.140035480
divss xmm6, dword [0x140040e00]
movss xmm0, dword [rbp + 0x68]
mulss xmm0, xmm6
movss xmm1, dword [rbp + 0x64]
mulss xmm1, xmm6
movss xmm3, dword [rsp + 0x78]
addss xmm3, xmm0
movss xmm2, dword [rsp + 0x74]
addss xmm2, xmm1
movss xmm0, dword [rbp + 0x60]
mulss xmm0, xmm6
addss xmm0, dword [rsp + 0x70]
movss dword [rbp - 0x80], xmm0
movss dword [rbp - 0x7c], xmm2
movss dword [rbp - 0x78], xmm3
lea rdx, [rbp - 0x80]
lea rcx, [rbp + 0x28]
call fcn.140031ca0
movsd xmm10, qword [rax]
subss xmm10, dword [0x140047ce8]
movsd xmm7, qword [rax]
shufps xmm7, xmm7, 0x55
subss xmm7, dword [0x140047cd8]
movaps xmm1, xmm7
mulss xmm1, xmm7
movaps xmm0, xmm10
mulss xmm0, xmm10
addss xmm1, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x1400334e9
xorps xmm6, xmm6
sqrtss xmm6, xmm1
jmp 0x1400334f4
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm6, xmm0
cmp byte [0x140047068], 0
je 0x14003361c
cvttss2si ebx, xmm9
cvttss2si edi, xmm14
mov dword [rsp + 0x40], edi
cvttss2si esi, xmm15
mulss xmm14, dword [0x140040d1c]
movss xmm1, dword [rbp - 0x30]
subss xmm1, xmm14
cvttss2si r13d, xmm1
mov eax, 0x55555556
imul edi
mov r12d, edx
shr r12d, 0x1f
add r12d, edx
mov r9d, 1
mov r8d, r12d
mov edx, esi
lea ecx, [r13 + 1]
call fcn.1400329d0
mov r14d, r13d
sub r14d, r12d
add r14d, edi
mov r9d, 1
mov r8d, r12d
mov edx, esi
lea ecx, [r14 + 1]
call fcn.1400329d0
mov eax, 0x55555556
imul ebx
mov esi, edx
shr esi, 0x1f
add esi, edx
mov r9d, esi
mov r8d, 1
cvttss2si edi, xmm15
mov edx, edi
mov ecx, r13d
call fcn.1400329d0
sub edi, esi
add edi, ebx
mov r9d, esi
mov r8d, 1
lea edx, [rdi + 2]
mov ecx, r13d
call fcn.1400329d0
cvttss2si eax, xmm15
add ebx, eax
mov r9d, 1
mov r8d, r12d
lea edx, [rbx + 1]
lea ecx, [r13 + 1]
call fcn.1400329d0
mov r9d, 1
mov r8d, r12d
lea edx, [rbx + 1]
lea ecx, [r14 + 1]
call fcn.1400329d0
mov ebx, dword [rsp + 0x40]
add ebx, r13d
mov r9d, esi
mov r8d, 1
cvttss2si edx, xmm15
lea ecx, [rbx + 1]
call fcn.1400329d0
mov r9d, esi
mov r8d, 1
lea edx, [rdi + 2]
lea ecx, [rbx + 1]
call fcn.1400329d0
mov rbx, qword [rbp + 0x40]
mov rdi, qword [rsp + 0x38]
mov r15d, dword [rsp + 0x34]
comiss xmm13, xmm6
jbe 0x140033643
movss xmm0, dword [0x140047060]
comiss xmm0, xmm6
jbe 0x140033643
movaps xmm13, xmm6
mov al, 1
mov byte [rsp + 0x30], al
movaps xmm12, xmm10
movaps xmm11, xmm7
jmp 0x140033648
movzx eax, byte [rsp + 0x30]
add rdi, 0x28
mov qword [rsp + 0x38], rdi
cmp rdi, rbx
jne 0x140033230
cmp byte [0x14004706a], 0
je 0x1400336ba
test al, al
je 0x1400336ba
mov ecx, dword [0x140047d60]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1400336ba
divss xmm12, dword [0x140047064]
divss xmm11, dword [0x140047064]
ucomiss xmm12, xmm8
jp 0x140033692
je 0x1400336ba
ucomiss xmm11, xmm8
jp 0x14003369a
je 0x1400336ba
cvttss2si r8, xmm11
cvttss2si rdx, xmm12
mov qword [rsp + 0x20], 0
xor r9d, r9d
lea ecx, [r9 + 1]
call qword [sym.imp.USER32.dll_mouse_event]
mov r14, qword [rbp + 0x38]
test r14, r14
je 0x14003371e
mov rcx, qword [rsp + 0x48]
sub rcx, r14
movabs rax, 0x6666666666666667
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rdx, [rdx + rdx*4]
shl rdx, 3
mov rax, r14
cmp rdx, 0x1000
jb 0x140033716
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140033716
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r14
call fcn.1400365c4
mov rcx, qword [rbp + 0x70]
xor rcx, rsp
call fcn.1400361a0
lea r11, [rsp + 0x220]
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]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret