Function at 0x1400835c0
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
mov qword [rax + 8], rcx
push rbp
lea rbp, [rax - 0x1e8]
sub rsp, 0x2e0
movaps xmmword [rax - 0x18], xmm6
movaps xmmword [rax - 0x28], xmm7
movaps xmmword [rax - 0x38], xmm8
movaps xmmword [rax - 0x48], xmm9
movaps xmmword [rax - 0x58], xmm10
movaps xmmword [rax - 0x68], xmm11
movaps xmmword [rax - 0x78], xmm12
movaps xmmword [rax - 0x88], xmm13
mov rbx, rdx
xorps xmm7, xmm7
mov qword [rbp - 0x40], 0
add rdx, 0x58
movss xmm2, dword [rdx + 8]
movss xmm1, dword [rdx + 4]
movss xmm0, dword [rdx]
movss dword [rbp - 0x38], xmm0
movss dword [rbp - 0x34], xmm1
movss dword [rbp - 0x30], xmm2
mov byte [rbp - 0x2c], 0
mov qword [rbp - 0x28], 0
movss xmm2, dword [rbx + 0x6c]
movss xmm1, dword [rbx + 0x68]
movss xmm0, dword [rbx + 0x64]
movss dword [rbp - 0x20], xmm0
movss dword [rbp - 0x1c], xmm1
movss dword [rbp - 0x18], xmm2
mov byte [rbp - 0x14], 0
mov qword [rbp - 0x10], 0
movss xmm2, dword [rbx + 0x78]
movss xmm1, dword [rbx + 0x74]
movss xmm0, dword [rbx + 0x70]
movss dword [rbp - 8], xmm0
movss dword [rbp - 4], xmm1
movss dword [rbp], xmm2
mov byte [rbp + 4], 0
mov qword [rbp + 8], 0
movss xmm2, dword [rbx + 0x84]
movss xmm1, dword [rbx + 0x80]
movss xmm0, dword [rbx + 0x7c]
movss dword [rbp + 0x10], xmm0
movss dword [rbp + 0x14], xmm1
movss dword [rbp + 0x18], xmm2
mov byte [rbp + 0x1c], 0
mov qword [rbp + 0x20], 0
movss xmm2, dword [rbx + 0x90]
movss xmm1, dword [rbx + 0x8c]
movss xmm0, dword [rbx + 0x88]
movss dword [rbp + 0x28], xmm0
movss dword [rbp + 0x2c], xmm1
movss dword [rbp + 0x30], xmm2
mov byte [rbp + 0x34], 0
mov qword [rbp + 0x38], 0
movss xmm2, dword [rbx + 0x9c]
movss xmm1, dword [rbx + 0x98]
movss xmm0, dword [rbx + 0x94]
movss dword [rbp + 0x40], xmm0
movss dword [rbp + 0x44], xmm1
movss dword [rbp + 0x48], xmm2
mov byte [rbp + 0x4c], 0
mov qword [rbp + 0x50], 0
movss xmm2, dword [rbx + 0xa8]
movss xmm1, dword [rbx + 0xa4]
movss xmm0, dword [rbx + 0xa0]
movss dword [rbp + 0x58], xmm0
movss dword [rbp + 0x5c], xmm1
movss dword [rbp + 0x60], xmm2
mov byte [rbp + 0x64], 0
mov qword [rbp + 0x68], 0
movss xmm2, dword [rbx + 0xb4]
movss xmm1, dword [rbx + 0xb0]
movss xmm0, dword [rbx + 0xac]
movss dword [rbp + 0x70], xmm0
movss dword [rbp + 0x74], xmm1
movss dword [rbp + 0x78], xmm2
mov byte [rbp + 0x7c], 0
mov qword [rbp + 0x80], 0
movss xmm2, dword [rbx + 0x114]
movss xmm1, dword [rbx + 0x110]
movss xmm0, dword [rbx + 0x10c]
movss dword [rbp + 0x88], xmm0
movss dword [rbp + 0x8c], xmm1
movss dword [rbp + 0x90], xmm2
mov byte [rbp + 0x94], 0
lea rax, [rbp - 0x40]
mov qword [rbp + 0x1f0], rax
movups xmm0, xmmword [0x140338e7c]
movups xmmword [rsp + 0x40], xmm0
movd xmm0, dword [0x140338f28]
cvtdq2ps xmm0, xmm0
comiss xmm0, dword [rbx + 0x34]
jb 0x1400837f9
movups xmm0, xmmword [0x140338eac]
jmp 0x14008381b
mov rax, qword [0x140339868]
cmp qword [rbx], rax
jne 0x14008380e
movups xmm0, xmmword [0x140338e9c]
jmp 0x14008381b
cmp byte [rbx + 0x2c], 0
je 0x140083820
movups xmm0, xmmword [0x140338e8c]
movups xmmword [rsp + 0x40], xmm0
movups xmm2, xmmword [rsp + 0x40]
movups xmm0, xmmword [0x140338ebc]
movups xmmword [rsp + 0x40], xmm0
movups xmm0, xmmword [0x140338ecc]
movups xmmword [rbp - 0x50], xmm0
movups xmm0, xmmword [0x140338edc]
movups xmmword [rbp - 0x60], xmm0
movups xmm0, xmmword [0x140338eec]
movups xmmword [rsp + 0x60], xmm0
movups xmm0, xmmword [0x140338efc]
movups xmmword [rsp + 0x50], xmm0
mov rcx, qword [0x140338f10]
mov rax, qword [0x140338f18]
sub rax, rcx
sar rax, 2
test rax, rax
je 0x140083f2f
cmp dword [rcx], 0
je 0x140083889
movdqa xmm9, xmm2
jmp 0x14008388f
movups xmm9, xmmword [rsp + 0x40]
cmp rax, 1
jbe 0x140083f2f
cmp dword [rcx + 4], 0
je 0x1400838a5
movdqa xmm6, xmm2
jmp 0x1400838a9
movups xmm6, xmmword [rbp - 0x50]
cmp rax, 2
jbe 0x140083f2f
cmp dword [rcx + 8], 0
je 0x1400838c0
movdqa xmm12, xmm2
jmp 0x1400838c5
movups xmm12, xmmword [rbp - 0x60]
cmp rax, 3
jbe 0x140083f2f
cmp dword [rcx + 0xc], 0
je 0x1400838dc
movdqa xmm10, xmm2
jmp 0x1400838e2
movups xmm10, xmmword [rsp + 0x60]
cmp rax, 4
jbe 0x140083f2f
cmp dword [rcx + 0x10], 0
jne 0x1400838f7
movups xmm2, xmmword [rsp + 0x50]
cmp byte [0x140338e74], 0
je 0x140083926
lea rcx, [rbp + 0xa0]
call fcn.140010d50
movdqa xmmword [rsp + 0x50], xmm2
lea r8, [rsp + 0x50]
mov rdx, rax
lea rcx, reloc.WS2_32.dll_bind
call fcn.140085b90
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x1f0]
call fcn.140083280
test al, al
je 0x140083ef6
cvttss2si ecx, dword [rsp + 0x50]
mov dword [rsp + 0x40], ecx
cvttss2si edx, dword [rsp + 0x58]
mov dword [rsp + 0x44], edx
movss xmm0, dword [rsp + 0x54]
subss xmm0, dword [rsp + 0x50]
cvttss2si r8d, xmm0
mov dword [rsp + 0x48], r8d
movss xmm1, dword [rsp + 0x5c]
subss xmm1, dword [rsp + 0x58]
cvttss2si r9d, xmm1
mov dword [rsp + 0x4c], r9d
movss xmm11, dword [0x1402d3eac]
movss xmm8, dword [0x1402d3e6c]
cmp byte [0x140338e77], 0
je 0x140083ad7
mov dword [rsp + 0x50], 0x3f48c8ca
mov dword [rsp + 0x54], 0x3f48c8ca
mov dword [rsp + 0x58], 0x3f48c8ca
movss xmm1, dword [rbx + 0x3c]
maxss xmm1, xmm7
minss xmm1, dword [0x1402d3fd8]
mulss xmm1, dword [0x1402d3efc]
movss xmm0, dword [0x1402d401c]
subss xmm0, xmm1
cvttss2si eax, xmm0
movd xmm2, eax
cvtdq2ps xmm2, xmm2
mulss xmm2, dword [0x1402d3df0]
movd xmm3, r8d
cvtdq2ps xmm3, xmm3
mulss xmm3, xmm8
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
addss xmm3, xmm0
lea eax, [r9 + rdx]
movd xmm5, eax
cvtdq2ps xmm5, xmm5
movd xmm4, dword [0x140338da4]
cvtdq2ps xmm4, xmm4
mov eax, dword [0x140338da0]
cdq
sub eax, edx
sar eax, 1
movd xmm13, eax
cvtdq2ps xmm13, xmm13
movups xmm0, xmmword [rsp + 0x50]
shufps xmm0, xmm0, 0x93
movss xmm0, xmm2
shufps xmm0, xmm0, 0x39
movups xmmword [rsp + 0x50], xmm0
movdqa xmmword [rsp + 0x50], xmm0
movaps xmm0, xmm3
unpcklps xmm0, xmm5
movsd qword [rbp + 0x1f0], xmm0
movaps xmm1, xmm13
unpcklps xmm1, xmm4
movsd qword [rbp + 0x1f8], xmm1
comiss xmm13, xmm7
jb 0x140083ad7
comiss xmm4, xmm7
jb 0x140083ad7
movss xmm1, dword [0x1402d405c]
comiss xmm13, xmm1
ja 0x140083ad7
movss xmm0, dword [0x1402d4054]
comiss xmm4, xmm0
ja 0x140083ad7
comiss xmm3, xmm7
jb 0x140083ad7
comiss xmm5, xmm7
jb 0x140083ad7
comiss xmm3, xmm1
ja 0x140083ad7
comiss xmm5, xmm0
ja 0x140083ad7
mov rax, qword [0x140338fd0]
mov r10, qword [rax]
lea rcx, [rsp + 0x50]
call fcn.1400ad100
movss dword [rsp + 0x20], xmm11
mov r9d, eax
lea r8, [rbp + 0x1f0]
lea rdx, [rbp + 0x1f8]
mov rcx, r10
call fcn.1400c29b0
cmp byte [0x140338e63], 0
je 0x140083af6
movdqa xmmword [rsp + 0x50], xmm9
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x40]
call fcn.140084ea0
movss xmm2, dword [rbx + 0x34]
movd xmm0, dword [0x140338f28]
cvtdq2ps xmm0, xmm0
comiss xmm2, xmm0
jbe 0x140083b2f
movss xmm3, dword [rbx + 0x38]
lea rdx, [rsp + 0x40]
call fcn.140085150
movss xmm2, dword [rbx + 0x30]
comiss xmm2, xmm11
jb 0x140083b2f
lea rdx, [rsp + 0x40]
call fcn.140085730
cmp dword [0x140338e70], 0
jne 0x140083cad
cmp byte [0x140338e78], 0
jne 0x140083b52
cmp byte [0x140338e79], 0
je 0x140083cad
cmp byte [0x140338b38], 0
je 0x140083c5c
mov rax, qword [rbx]
cmp qword [0x140339870], rax
jne 0x140083c5c
movdqa xmm3, xmmword [0x1402d4480]
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
movdqa xmm1, xmmword [reloc.WS2_32.dll_ntohs]
movdqu xmmword [rsp + 0x70], xmm1
movsd xmm0, qword [str.SELECTED_PLAYER]
movsd qword [rsp + 0x60], xmm0
mov eax, dword [0x1402cf230]
mov dword [rsp + 0x68], eax
movzx eax, word [0x1402cf234]
mov word [rsp + 0x6c], ax
movzx eax, byte [0x1402cf236]
mov byte [rsp + 0x6e], al
mov byte [rsp + 0x6f], 0
movss xmm0, dword [0x1402edf14]
movd xmm2, dword [rsp + 0x44]
cvtdq2ps xmm2, xmm2
addss xmm0, xmm0
subss xmm2, xmm0
movd xmm1, dword [rsp + 0x48]
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm8
movd xmm0, dword [rsp + 0x40]
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
movdqa xmmword [rsp + 0x50], xmm3
mov byte [rsp + 0x30], 1
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x60]
mov rcx, qword [0x140338fd0]
call fcn.1400dd310
nop
mov rdx, qword [rsp + 0x78]
cmp rdx, 0xf
jbe 0x140083c5c
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140083c57
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140083c57
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14007a694
movdqa xmmword [rsp + 0x50], xmm6
lea r9, [rbx + 8]
movd xmm2, dword [rsp + 0x44]
cvtdq2ps xmm2, xmm2
subss xmm2, dword [0x1402edf14]
movd xmm1, dword [rsp + 0x48]
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm8
movd xmm0, dword [rsp + 0x40]
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
mov byte [rsp + 0x30], 1
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
mov rcx, qword [0x140338fd0]
call fcn.1400dd310
movdqa xmmword [rsp + 0x50], xmm6
movdqa xmmword [rsp + 0x60], xmm10
movdqa xmmword [rbp - 0x60], xmm12
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x60]
lea r8, [rsp + 0x40]
mov rdx, rbx
lea rcx, reloc.WS2_32.dll_bind
call fcn.140083f70
cmp byte [0x140338e19], 0
je 0x140083ef6
movss xmm2, dword [0x140315e6c]
movss xmm0, dword [0x1402d4074]
comiss xmm2, xmm0
jbe 0x140083d43
movss xmm1, dword [0x1402d3e04]
comiss xmm2, xmm1
jae 0x140083d43
movss xmm2, dword [0x140315e70]
comiss xmm2, xmm0
jbe 0x140083d43
comiss xmm2, xmm1
jae 0x140083d43
movss xmm2, dword [0x140315e74]
comiss xmm2, xmm0
jbe 0x140083d43
comiss xmm2, xmm1
jb 0x140083ef6
mov rax, qword [0x140339868]
cmp qword [rbx], rax
jne 0x140083ef6
mov ecx, dword [0x140338db4]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140083ef6
movss xmm9, dword [0x140315e6c]
movss xmm6, dword [0x140315e70]
movss xmm10, dword [0x140315e74]
movups xmm0, xmmword [0x140338b3c]
movaps xmmword [rsp + 0x60], xmm0
movups xmm1, xmmword [0x140338b4c]
movaps xmmword [rsp + 0x70], xmm1
movups xmm0, xmmword [0x140338b5c]
movaps xmmword [rbp - 0x80], xmm0
movups xmm1, xmmword [0x140338b6c]
movaps xmmword [rbp - 0x70], xmm1
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x60]
call qword [sym.imp.d3dx9_43.dll_D3DXMatrixTranspose]
movaps xmm3, xmm6
mulss xmm3, dword [rbp - 0x6c]
movaps xmm0, xmm9
mulss xmm0, dword [rbp - 0x70]
addss xmm3, xmm0
movaps xmm1, xmm10
mulss xmm1, dword [rbp - 0x68]
addss xmm3, xmm1
addss xmm3, dword [rbp - 0x64]
mov ecx, dword [0x140338da4]
mov eax, dword [0x140338da0]
comiss xmm3, dword [0x1402d3e28]
ja 0x140083e04
xorps xmm4, xmm4
jmp 0x140083ea4
movaps xmm2, xmm11
divss xmm2, xmm3
movaps xmm3, xmm6
mulss xmm3, dword [rsp + 0x74]
movaps xmm0, xmm9
mulss xmm0, dword [rsp + 0x70]
addss xmm3, xmm0
movaps xmm1, xmm10
mulss xmm1, dword [rsp + 0x78]
addss xmm3, xmm1
addss xmm3, dword [rsp + 0x7c]
mulss xmm3, xmm2
xorps xmm1, xmm1
cvtsi2ss xmm1, ecx
movaps xmm4, xmm1
mulss xmm4, xmm8
mulss xmm6, dword [rbp - 0x7c]
mulss xmm9, dword [rbp - 0x80]
addss xmm6, xmm9
movss xmm0, dword [rbp - 0x78]
mulss xmm0, xmm10
addss xmm6, xmm0
addss xmm6, dword [rbp - 0x74]
mulss xmm6, xmm2
mulss xmm6, xmm8
mulss xmm6, xmm1
addss xmm6, xmm8
subss xmm4, xmm6
movaps xmm7, xmm3
addss xmm7, xmm11
mulss xmm7, xmm8
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mulss xmm7, xmm0
addss xmm7, xmm8
addss xmm7, xmm3
movups xmm0, xmmword [0x140338e1c]
movups xmmword [rsp + 0x50], xmm0
cdq
sub eax, edx
sar eax, 1
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
movd xmm2, eax
cvtdq2ps xmm2, xmm2
movdqa xmmword [rsp + 0x50], xmm0
mov byte [rsp + 0x28], 0
lea r9, [rsp + 0x50]
unpcklps xmm7, xmm4
movq r8, xmm7
unpcklps xmm1, xmm2
movq rdx, xmm1
mov rcx, qword [0x140338fd0]
call fcn.1400dd1d0
lea r11, [rsp + 0x2e0]
mov rbx, qword [r11 + 0x20]
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 rbp
ret
call fcn.140011210
int3