Function at 0x14009a6d0
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r15
lea rbp, [rsp - 0x10]
sub rsp, 0x110
mov rax, qword [0x14039f5e8]
xor rax, rsp
mov qword [rbp - 0x80], rax
xor r15d, r15d
cmp dword [0x1406575a4], r15d
je 0x14009a80d
cmp byte [0x140658933], r15b
je 0x14009a80d
cmp dword [0x14065884c], r15d
mov edi, r15d
jle 0x14009a812
mov ebx, r15d
lea rsi, sym.MZ_Mwf.L_MrNRI___2:Gmjl_D3_AZ_AUEoy2Ew_Lvrp_hJ_
nop
mov edx, dword [rbx + rsi + 0x658770]
lea r8, [rsp + 0x70]
mov rcx, qword [0x140658a48]
add edx, 8
mov r9d, 7
mov qword [rsp + 0x20], r15
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
cmp byte [rsp + 0x70], 0xe8
jne 0x14009a770
cmp byte [rsp + 0x75], 0x90
jne 0x14009a770
cmp byte [rsp + 0x76], 0x90
je 0x14009a7f9
mov edx, dword [rbx + rsi + 0x658770]
lea r8, [rsp + 0x40]
mov rcx, qword [0x140658a48]
mov r9d, 8
mov qword [rsp + 0x20], r15
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
cmp byte [rsp + 0x40], 0x66
jne 0x14009a7f9
cmp byte [rsp + 0x41], 0xf
jne 0x14009a7f9
cmp byte [rsp + 0x42], 0x7e
jne 0x14009a7f9
mov ecx, dword [rbx + rsi + 0x658850]
test ecx, ecx
je 0x14009a7f9
mov eax, dword [rbx + rsi + 0x658770]
lea r8, [rsp + 0x60]
add eax, 8
mov byte [0x1406575c6], 1
sub ecx, eax
mov edx, eax
sub ecx, 5
mov byte [rsp + 0x60], 0xe8
mov dword [rsp + 0x61], ecx
mov r9d, 7
mov rcx, qword [0x140658a48]
mov word [rsp + 0x65], 0x9090
mov qword [rsp + 0x20], r15
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
inc edi
add rbx, 4
cmp edi, dword [0x14065884c]
jl 0x14009a730
jmp 0x14009a812
call fcn.14009a460
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14009b09b
cmp dword [0x1406575a4], r15d
mov esi, 0x1869f
mov qword [rsp + 0x130], r12
mov edi, r15d
mov qword [rsp + 0x138], r14
lea r12, [0x140658cd0]
movaps xmmword [rsp + 0x100], xmm6
mov r14d, r15d
movaps xmmword [rsp + 0xf0], xmm7
movaps xmmword [rsp + 0xe0], xmm8
movss xmm8, dword [0x14036f774]
movaps xmmword [rsp + 0xd0], xmm9
xorps xmm9, xmm9
movaps xmmword [rsp + 0xc0], xmm10
mov qword [rsp + 0x40], r15
mov dword [rsp + 0x48], r15d
jle 0x14009a975
movss xmm10, dword [0x14036f93c]
mov rbx, r12
movsd xmm7, qword [0x14036f7f8]
nop dword [rax + rax]
movss xmm0, dword [rbx]
ucomiss xmm0, xmm10
jp 0x14009a8c0
je 0x14009a963
movsd xmm0, qword [rbx]
lea rdx, [rsp + 0x40]
mov eax, dword [rbx + 8]
lea rcx, [rsp + 0x60]
movsd qword [rsp + 0x60], xmm0
mov dword [rsp + 0x68], eax
call fcn.140093550
test al, al
je 0x14009a963
movss xmm1, dword [0x140658938]
movss xmm0, dword [rsp + 0x44]
mulss xmm1, xmm8
subss xmm0, xmm1
movaps xmm1, xmm7
cvtps2pd xmm0, xmm0
call fcn.140297550
movss xmm1, dword [0x14065893c]
movaps xmm6, xmm0
movss xmm0, dword [rsp + 0x40]
mulss xmm1, xmm8
subss xmm0, xmm1
movaps xmm1, xmm7
cvtps2pd xmm0, xmm0
call fcn.140297550
addsd xmm6, xmm0
xorps xmm1, xmm1
ucomisd xmm1, xmm6
ja 0x14009a941
xorps xmm0, xmm0
sqrtsd xmm0, xmm6
jmp 0x14009a949
movaps xmm0, xmm6
call fcn.1402b8ae8
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movd xmm0, esi
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
jbe 0x14009a963
cvttss2si esi, xmm1
mov r14d, edi
inc edi
add rbx, 0xc
cmp edi, dword [0x1406575a4]
jl 0x14009a8b0
movss xmm0, dword [0x1406ab330]
movss xmm1, dword [0x1406ab328]
movss xmm2, dword [0x1406ab32c]
mov eax, r14d
mov r14, qword [rsp + 0x138]
mov qword [rsp + 0x40], r15
mov dword [rsp + 0x48], r15d
lea rdi, [rax + rax*2]
mov qword [rsp + 0x60], r15
subss xmm2, dword [r12 + rdi*4 + 4]
subss xmm0, dword [r12 + rdi*4 + 8]
subss xmm1, dword [r12 + rdi*4]
mov dword [rsp + 0x68], r15d
mulss xmm2, xmm2
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm2, xmm1
addss xmm2, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x14009a9e9
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x14009a9f1
movaps xmm0, xmm2
call fcn.1402b8bb4
divss xmm0, dword [0x14036f8a0]
mov eax, dword [r12 + rdi*4 + 8]
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x70]
mov dword [rsp + 0x78], eax
cvttss2si ebx, xmm0
movsd xmm0, qword [r12 + rdi*4]
movsd qword [rsp + 0x70], xmm0
call fcn.140093550
test al, al
je 0x14009b044
cmp byte [reloc.WS2_32.dll_accept], r15b
movss xmm6, dword [rsp + 0x64]
movss xmm7, dword [rsp + 0x60]
movaps xmmword [rsp + 0xb0], xmm11
movss xmm11, dword [0x14036f83c]
je 0x14009aa9a
movss xmm0, dword [0x14065893c]
mulss xmm0, xmm8
cvttss2si edx, xmm7
cvttss2si eax, xmm0
movss xmm0, dword [0x140658938]
sub edx, eax
mulss xmm0, xmm8
imul edx, edx
cvttss2si ecx, xmm6
cvttss2si eax, xmm0
sub ecx, eax
mov eax, dword [0x1403a0614]
imul ecx, ecx
imul eax, eax
add ecx, edx
cmp ecx, eax
setle sil
jmp 0x14009ab68
movsd xmm0, qword [r12 + rdi*4]
lea rdx, [rsp + 0x40]
mov eax, dword [r12 + rdi*4 + 8]
lea rcx, [rsp + 0x60]
movsd qword [rsp + 0x60], xmm0
mov dword [rsp + 0x68], eax
call fcn.140093bc0
movss xmm2, dword [rsp + 0x48]
movss xmm0, dword [rsp + 0x40]
movaps xmm1, xmm2
mulss xmm1, dword [0x14036f75c]
mulss xmm2, xmm8
subss xmm0, xmm1
movss xmm1, dword [0x140658938]
mulss xmm1, xmm8
cvttss2si eax, xmm0
movss xmm0, dword [rsp + 0x44]
subss xmm0, xmm2
cvttss2si edx, xmm1
cvttss2si ecx, xmm0
movss xmm0, dword [0x14065893c]
mulss xmm0, xmm8
cvttss2si r8d, xmm0
cmp r8d, eax
jle 0x14009ab65
movss xmm2, dword [0x1406ab1c8]
movd xmm0, eax
movaps xmm1, xmm2
mulss xmm1, xmm8
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
addss xmm1, dword [0x14036f814]
cvttss2si eax, xmm1
cmp r8d, eax
jge 0x14009ab65
cmp edx, ecx
jle 0x14009ab65
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
addss xmm0, xmm2
addss xmm0, xmm11
cvttss2si eax, xmm0
cmp edx, eax
jge 0x14009ab65
mov sil, 1
jmp 0x14009ab68
xor sil, sil
cmp byte [0x140658933], r15b
je 0x14009adaa
test sil, sil
jne 0x14009abac
cmp ebx, 0xf
jl 0x14009abac
mov eax, dword [0x140658918]
test eax, eax
je 0x14009adaa
mov qword [0x140658760], r15
lea edx, [rax + 0x5e]
mov byte [rsp + 0x30], r15b
lea r8, [rsp + 0x30]
mov r9d, 1
jmp 0x14009ad98
cmp dword [0x140658918], r15d
je 0x14009adaa
mov eax, dword [0x140658a90]
test eax, eax
je 0x14009adaa
cmp dword [0x1406575a4], r15d
je 0x14009adaa
mov rcx, qword [0x140658a48]
lea edx, [rax + 0x340]
mov r9d, 4
mov dword [rsp + 0x70], r15d
lea r8, [rsp + 0x70]
mov qword [rsp + 0x20], r15
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov ecx, dword [rsp + 0x70]
lea r8, [rsp + 0x60]
test eax, eax
mov dword [rsp + 0x60], r15d
mov r9d, 4
mov qword [rsp + 0x20], r15
cmove ecx, r15d
lea ebx, [rcx + 0x140]
lea edx, [rcx + 0x5f4]
mov rcx, qword [0x140658a48]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov r8d, dword [rsp + 0x60]
lea rcx, [rsp + 0x40]
test eax, eax
mov edx, ebx
cmove r8d, r15d
add r8d, 0x3c0
call fcn.140094490
movsd xmm1, qword [r12 + rdi*4]
movss dword [0x140658760], xmm7
movss dword [0x140658764], xmm6
movsd xmm0, qword [rax]
movss xmm6, dword [rax + 8]
movaps xmm7, xmm0
movaps xmm10, xmm0
movsd qword [rsp + 0x60], xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x60], xmm1
subss xmm10, xmm1
shufps xmm0, xmm0, 0x55
shufps xmm7, xmm7, 0x55
addss xmm6, xmm11
subss xmm7, xmm0
movaps xmm0, xmm10
subss xmm6, dword [r12 + rdi*4 + 8]
mulss xmm0, xmm10
movaps xmm1, xmm7
mulss xmm1, xmm7
addss xmm1, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x14009acc9
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x14009acd1
movaps xmm0, xmm1
call fcn.1402b8bb4
divss xmm6, xmm0
movaps xmm0, xmm6
call fcn.1402b6ac0
xorps xmm0, xmmword [0x1403701b0]
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
divss xmm7, xmm10
mulsd xmm1, qword [0x14036f820]
movaps xmm0, xmm7
cvtpd2ps xmm11, xmm1
call fcn.1402b6ac0
comiss xmm10, xmm9
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
mulsd xmm1, qword [0x14036f820]
cvtpd2ps xmm6, xmm1
jb 0x14009ad26
addss xmm6, dword [0x14036f8bc]
mov edx, dword [0x140658918]
lea r8, [rsp + 0x30]
mov rcx, qword [0x140658a48]
add edx, 0x5e
mov r9d, 1
mov byte [rsp + 0x30], 1
mov qword [rsp + 0x20], r15
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov edx, dword [0x140658918]
lea r8, [rsp + 0x60]
mov rcx, qword [0x140658a48]
add edx, 0x25
mov r9d, 4
movss dword [rsp + 0x60], xmm11
mov qword [rsp + 0x20], r15
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov edx, dword [0x140658918]
lea r8, [rsp + 0x70]
add edx, 0x2f
movss dword [rsp + 0x70], xmm6
mov r9d, 4
mov rcx, qword [0x140658a48]
mov qword [rsp + 0x20], r15
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
cmp byte [0x14065892c], r15b
je 0x14009b03b
test sil, sil
je 0x14009b03b
cmp dword [0x140658a90], r15d
je 0x14009b03b
cmp dword [0x1406575a4], r15d
je 0x14009b03b
movss xmm7, dword [0x1406ab328]
movss xmm10, dword [0x1406ab32c]
movss xmm6, dword [0x1406ab330]
movss xmm11, dword [r12 + rdi*4 + 8]
movaps xmmword [rsp + 0xa0], xmm12
subss xmm6, xmm11
movsd xmm12, qword [r12 + rdi*4]
movaps xmm0, xmm12
movaps xmmword [rsp + 0x90], xmm13
shufps xmm0, xmm0, 0x55
subss xmm7, xmm12
subss xmm10, xmm0
movsd qword [rsp + 0x40], xmm12
call fcn.14009a5e0
mulss xmm10, xmm10
xorps xmm1, xmm1
mulss xmm7, xmm7
movaps xmm13, xmm0
mulss xmm6, xmm6
addss xmm10, xmm7
addss xmm10, xmm6
ucomiss xmm1, xmm10
ja 0x14009ae63
xorps xmm0, xmm0
sqrtss xmm0, xmm10
jmp 0x14009ae6c
movaps xmm0, xmm10
call fcn.1402b8bb4
divss xmm0, dword [0x14036f8a0]
lea rdx, [0x1406ab390]
lea rcx, [rsp + 0x40]
movsd qword [rsp + 0x40], xmm12
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm13, xmm0
subss xmm11, xmm13
movss dword [rsp + 0x48], xmm11
call fcn.140093550
movss xmm10, dword [0x1403a0608]
lea rcx, [rsp + 0x40]
movss xmm6, dword [0x1406ab394]
xorps xmm0, xmm0
movss xmm7, dword [0x1406ab390]
xor eax, eax
movups xmmword [rsp + 0x44], xmm0
mov dword [rsp + 0x54], eax
mov dword [rsp + 0x40], Ordinal_27
call qword [sym.imp.USER32.dll_GetCursorInfo]
movaps xmm13, xmmword [rsp + 0x90]
movaps xmm12, xmmword [rsp + 0xa0]
test eax, eax
je 0x14009b03b
cmp dword [rsp + 0x44], r15d
jne 0x14009b03b
movss xmm0, dword [0x140658938]
movss xmm1, dword [0x14065893c]
mulss xmm0, xmm8
mulss xmm1, xmm8
cvttss2si r8d, xmm0
cvttss2si edx, xmm1
cvttss2si eax, xmm7
cvttss2si ecx, xmm6
sub eax, edx
imul eax, eax
sub ecx, r8d
imul ecx, ecx
add ecx, eax
mov eax, dword [0x1403a0614]
imul eax, eax
cmp ecx, eax
jg 0x14009b03b
ucomiss xmm7, xmm9
movaps xmm3, xmm9
movaps xmm2, xmm9
jp 0x14009af60
je 0x14009afbb
movd xmm4, edx
cvtdq2ps xmm4, xmm4
comiss xmm7, xmm4
jbe 0x14009af99
movaps xmm3, xmm4
lea eax, [rdx + rdx]
subss xmm3, xmm7
movd xmm0, eax
cvtdq2ps xmm0, xmm0
xorps xmm3, xmmword [0x1403701b0]
divss xmm3, xmm10
movaps xmm1, xmm3
addss xmm1, xmm4
comiss xmm1, xmm0
jbe 0x14009af99
movaps xmm3, xmm9
comiss xmm4, xmm7
jbe 0x14009afbb
movaps xmm3, xmm7
subss xmm3, xmm4
divss xmm3, xmm10
movaps xmm0, xmm3
addss xmm0, xmm4
comiss xmm9, xmm0
jbe 0x14009afbb
movaps xmm3, xmm9
ucomiss xmm6, xmm9
jp 0x14009afc3
je 0x14009b020
movd xmm4, r8d
cvtdq2ps xmm4, xmm4
comiss xmm6, xmm4
jbe 0x14009affe
movaps xmm2, xmm4
lea eax, [r8 + r8]
subss xmm2, xmm6
movd xmm0, eax
cvtdq2ps xmm0, xmm0
xorps xmm2, xmmword [0x1403701b0]
divss xmm2, xmm10
movaps xmm1, xmm2
addss xmm1, xmm4
comiss xmm1, xmm0
jbe 0x14009affe
movaps xmm2, xmm9
comiss xmm4, xmm6
jbe 0x14009b020
movaps xmm2, xmm6
subss xmm2, xmm4
divss xmm2, xmm10
movaps xmm0, xmm2
addss xmm0, xmm4
comiss xmm9, xmm0
jbe 0x14009b020
movaps xmm2, xmm9
xor r9d, r9d
mov qword [rsp + 0x20], r15
cvttss2si r8d, xmm2
lea ecx, [r9 + 1]
cvttss2si edx, xmm3
call qword [sym.imp.USER32.dll_mouse_event]
movaps xmm11, xmmword [rsp + 0xb0]
movaps xmm9, xmmword [rsp + 0xd0]
movaps xmm8, xmmword [rsp + 0xe0]
movaps xmm7, xmmword [rsp + 0xf0]
movaps xmm6, xmmword [rsp + 0x100]
mov r12, qword [rsp + 0x130]
movaps xmm10, xmmword [rsp + 0xc0]
mov rcx, qword [rbp - 0x80]
xor rcx, rsp
call fcn.1402796f0
lea r11, [rsp + 0x110]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop rdi
pop rbp
ret
mov eax, dword [0x140658918]
test eax, eax
je 0x14009b077
mov rcx, qword [0x140658a48]
lea edx, [rax + 0x5e]
mov r9d, 1
mov qword [0x140658760], r15
lea r8, [rsp + 0x30]
mov byte [rsp + 0x30], r15b
mov qword [rsp + 0x20], r15
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
jmp 0x14009b077