Function at 0x1400a7620
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r14
push r15
lea rbp, [rsp - 0x370]
sub rsp, 0x470
mov rax, qword [0x14016dc98]
xor rax, rsp
mov qword [rbp + 0x360], rax
mov rbx, rcx
mov qword [rsp + 0x58], rcx
xor r8d, r8d
lea rdx, [rsp + 0x60]
mov rcx, qword [rcx]
call fcn.14000af10
test eax, eax
jle 0x1400a7905
lea r14, [0x140000000]
xor edi, edi
nop dword [rax]
mov rax, qword [rsp + 0x68]
mov qword [rbx + 0x18], rax
mov ecx, dword [rsp + 0x60]
sub ecx, 1
je 0x1400a7931
sub ecx, 1
je 0x1400a78e2
cmp ecx, 1
je 0x1400a76b5
lea rcx, str._SERVER__UNHANDLED_n
call fcn.14000da20
jmp 0x1400a793d
mov rdx, qword [rsp + 0x78]
cmp qword [rdx + 0x18], 3
jbe 0x1400a78aa
mov rax, qword [rdx + 0x10]
movzx r8d, byte [rax]
mov ecx, r8d
sub ecx, 2
je 0x1400a785f
sub ecx, 1
je 0x1400a7814
sub ecx, 1
je 0x1400a76fe
sub ecx, 2
je 0x1400a7905
cmp ecx, 2
je 0x1400a7905
jmp 0x1400a78ad
mov rcx, rdx
call fcn.1400a97d0
mov rsi, rax
mov rcx, qword [rsp + 0x78]
call fcn.1400a9820
test rsi, rsi
je case.0x1400a7745.6
test rax, rax
je case.0x1400a7745.6
movzx ecx, byte [rsi]
cmp ecx, 0x1a
ja case.0x1400a7745.6
movzx ecx, byte [r14 + rcx + 0xa7fb4]
mov edx, dword [r14 + rcx*4 + 0xa7f98]
add rdx, r14
jmp rdx
mov rdx, rsi
mov rcx, rax
call fcn.140070e10
test al, al
je case.0x1400a7745.6
mov rcx, qword [rsp + 0x78]
call fcn.140009990
jmp 0x1400a7905
cmp byte [0x140171607], dil
je case.0x1400a7745.6
mov ecx, reloc.WS2_32.dll_recv
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x1400a775a
jmp case.0x1400a7745.6
mov cl, 1
movsxd rax, dword [rsi + 0x14]
cmp eax, 0x704
je 0x1400a77aa
cmp eax, 0xf2
je 0x1400a77aa
movzx ecx, cl
cmp eax, 0x1c14
cmovne ecx, edi
cmp byte [0x140171576], dil
je 0x1400a77bb
test cl, cl
je 0x1400a7956
mov rcx, qword [0x140172bd8]
add rcx, 0x5eb8
mov edx, eax
call fcn.1400a5a30
test eax, eax
je 0x1400a7905
mov rcx, rsi
call fcn.140082e50
test al, al
jne 0x1400a775a
jmp case.0x1400a7745.6
mov rcx, rsi
call fcn.1400648a0
test al, al
jne 0x1400a775a
jmp case.0x1400a7745.6
cmp byte [0x1401721e1], dil
jne 0x1400a7905
jmp case.0x1400a7745.6
mov rcx, rdx
call fcn.1400a9870
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x48], rdi
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], dil
jne 0x1400a7835
mov rdx, rax
lea rcx, [rsp + 0x30]
call fcn.14000fe10
lea rcx, [rsp + 0x30]
call fcn.14003de30
test al, al
jne 0x1400a775a
jmp case.0x1400a7745.6
mov rcx, rdx
call fcn.1400a9870
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x48], rdi
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], dil
jne 0x1400a7880
mov rdx, rax
lea rcx, [rsp + 0x30]
call fcn.14000fe10
lea rcx, [rsp + 0x30]
call fcn.14003e1d0
test al, al
jne 0x1400a775a
jmp case.0x1400a7745.6
mov r8d, edi
mov edx, r8d
lea rcx, str._SERVER__Got_unknown_packet_of_type__d._n
call fcn.14000da20
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x1400a7905
cmp qword [rbx + 8], rdi
je 0x1400a7905
mov r8, qword [rsp + 0x78]
xor edx, edx
call fcn.14000aa20
mov rcx, qword [rbx + 8]
call fcn.14000aee0
jmp 0x1400a793d
cmp byte [0x1401721e1], dil
jne 0x1400a7905
cmp byte [0x1401721da], dil
je 0x1400a793d
xor edx, edx
mov rcx, rbx
call fcn.1400a48f0
mov byte [0x1401721da], dil
mov rcx, qword [rbp + 0x360]
xor rcx, rsp
call fcn.140110490
lea r11, [rsp + 0x470]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
mov rcx, rbx
call fcn.1400a4810
test al, al
je 0x1400a7905
xor r8d, r8d
lea rdx, [rsp + 0x60]
mov rcx, qword [rbx]
call fcn.14000af10
test eax, eax
jle 0x1400a7905
jmp 0x1400a7680
mov rcx, qword [0x140172bd8]
mov qword [rsp + 0x50], rcx
imul rdx, rax, 0x220
add rdx, qword [0x1401716e0]
lea rcx, [rbp + 0x140]
call fcn.140020a70
nop
lea rdi, [rbp + 0x170]
cmp qword [rbp + 0x188], 0x10
cmovae rdi, qword [rbp + 0x170]
mov r15, qword [rbp + 0x180]
cmp r15, 9
jb 0x1400a7a17
lea r14, [r15 + rdi]
lea r8, [r14 - 8]
sub r8, rdi
mov edx, 0x41
mov rcx, rdi
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
je 0x1400a7a17
nop dword [rax]
nop word [rax + rax]
mov r8d, 9
lea rdx, str.Ancestral
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1400a7a0a
inc rbx
lea r8, [r14 - 8]
sub r8, rbx
mov edx, 0x41
mov rcx, rbx
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
jne 0x1400a79d0
jmp 0x1400a7a17
sub rbx, rdi
cmp rbx, 0xffffffffffffffff
jne 0x1400a7b51
lea rdi, [rbp + 0x170]
cmp qword [rbp + 0x188], 0x10
cmovae rdi, qword [rbp + 0x170]
cmp r15, 7
jb 0x1400a7aa7
lea r14, [r15 + rdi]
lea r8, [r14 - 6]
sub r8, rdi
mov edx, 0x53
mov rcx, rdi
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
je 0x1400a7aa7
nop dword [rax]
nop dword [rax + rax]
mov r8d, 7
lea rdx, str.Samille
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1400a7a9a
inc rbx
lea r8, [r14 - 6]
sub r8, rbx
mov edx, 0x53
mov rcx, rbx
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
jne 0x1400a7a60
jmp 0x1400a7aa7
sub rbx, rdi
cmp rbx, 0xffffffffffffffff
jne 0x1400a7b51
lea rdi, [rbp + 0x170]
cmp qword [rbp + 0x188], 0x10
cmovae rdi, qword [rbp + 0x170]
cmp r15, 7
jb 0x1400a7b28
lea r14, [r15 + rdi]
lea r8, [r14 - 6]
sub r8, rdi
mov edx, 0x43
mov rcx, rdi
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
je 0x1400a7b28
nop dword [rax]
nop dword [rax + rax]
mov r8d, 7
lea rdx, str.Chakram
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1400a7b48
inc rbx
lea r8, [r14 - 6]
sub r8, rbx
mov edx, 0x43
mov rcx, rbx
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
jne 0x1400a7af0
movsx rax, byte [rbp + 0x1c8]
cmp eax, 8
ja case.0x1400a7b46.0
lea rdx, [0x140000000]
mov ecx, dword [rdx + rax*4 + 0xa7fd0]
add rcx, rdx
jmp rcx
sub rbx, rdi
cmp rbx, 0xffffffffffffffff
je 0x1400a7b28
mov eax, dword [rbp + 0x168]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, dword [0x1401715a4]
jp 0x1400a7b7d
jne 0x1400a7b7d
xorps xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [0x1401715a4], xmm0
jmp 0x1400a7da9
movd xmm0, eax
cvtdq2pd xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [0x1401715a4], xmm0
jmp 0x1400a7da9
mov eax, dword [rbp + 0x168]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, dword [0x140171580]
jp 0x1400a7d95
jne 0x1400a7d95
xorps xmm0, xmm0
jmp 0x1400a7d9d
mov eax, dword [rbp + 0x168]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, dword [0x140171584]
jp 0x1400a7bea
jne 0x1400a7bea
xorps xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [0x140171584], xmm0
jmp 0x1400a7da9
movd xmm0, eax
cvtdq2pd xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [0x140171584], xmm0
jmp 0x1400a7da9
mov eax, dword [rbp + 0x168]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, dword [0x140171588]
jp 0x1400a7c2f
jne 0x1400a7c2f
xorps xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [0x140171588], xmm0
jmp 0x1400a7da9
movd xmm0, eax
cvtdq2pd xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [0x140171588], xmm0
jmp 0x1400a7da9
mov eax, dword [rbp + 0x168]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, dword [0x14017158c]
jp 0x1400a7c74
jne 0x1400a7c74
xorps xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [0x14017158c], xmm0
jmp 0x1400a7da9
movd xmm0, eax
cvtdq2pd xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [0x14017158c], xmm0
jmp 0x1400a7da9
mov eax, dword [rbp + 0x168]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, dword [0x140171590]
jp 0x1400a7cb9
jne 0x1400a7cb9
xorps xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [0x140171590], xmm0
jmp 0x1400a7da9
movd xmm0, eax
cvtdq2pd xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [0x140171590], xmm0
jmp 0x1400a7da9
mov eax, dword [rbp + 0x168]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, dword [0x140171594]
jp 0x1400a7cfe
jne 0x1400a7cfe
xorps xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [0x140171594], xmm0
jmp 0x1400a7da9
movd xmm0, eax
cvtdq2pd xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [0x140171594], xmm0
jmp 0x1400a7da9
mov eax, dword [rbp + 0x168]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, dword [0x140171598]
jp 0x1400a7d40
jne 0x1400a7d40
xorps xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [0x140171598], xmm0
jmp 0x1400a7da9
movd xmm0, eax
cvtdq2pd xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [0x140171598], xmm0
jmp 0x1400a7da9
mov eax, dword [rbp + 0x168]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, dword [0x1401715a0]
jp 0x1400a7d7f
jne 0x1400a7d7f
xorps xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [0x1401715a0], xmm0
jmp 0x1400a7da9
movd xmm0, eax
cvtdq2pd xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [0x1401715a0], xmm0
jmp 0x1400a7da9
movd xmm0, eax
cvtdq2pd xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [0x140171580], xmm0
mov ecx, dword [rsi + 0x14]
call fcn.14005c560
test eax, eax
je 0x1400a7dc3
mov ecx, dword [rsi + 0x14]
call fcn.14005c560
mov dword [0x14016b0cc], eax
xorps xmm1, xmm1
movss xmm0, dword [0x140171598]
ucomiss xmm0, xmm1
jp 0x1400a7dd5
je 0x1400a7ddc
mov byte [0x1401715d1], 1
xor r8d, r8d
mov rbx, qword [rsp + 0x50]
mov edx, dword [rbx + 0x6090]
mov rcx, qword [rsp + 0x58]
call fcn.1400a8cf0
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], reloc.WS2_32.dll_listen
mov qword [rsp + 0x48], reloc.WS2_32.dll_ntohs
movsd xmm0, qword [str.OnSetClothing]
movsd qword [rsp + 0x30], xmm0
mov eax, dword [0x140129338]
mov dword [rsp + 0x38], eax
movzx eax, byte [0x14012933c]
mov byte [rsp + 0x3c], al
mov byte [rsp + 0x3d], 0
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x80]
call fcn.140021820
nop
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x1400a7e85
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400a7e80
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400a7e80
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14011037c
mov dword [rbp - 0x40], 4
movss xmm0, dword [0x140171580]
movss dword [rbp - 0x30], xmm0
movss xmm1, dword [0x140171584]
movss dword [rbp - 0x2c], xmm1
movss xmm0, dword [0x140171588]
movss dword [rbp - 0x28], xmm0
mov dword [rbp], 4
movss xmm1, dword [0x14017158c]
movss dword [rbp + 0x10], xmm1
movss xmm0, dword [0x140171590]
movss dword [rbp + 0x14], xmm0
movss xmm1, dword [0x140171594]
movss dword [rbp + 0x18], xmm1
mov dword [rbp + 0x40], 4
movss xmm0, dword [0x140171598]
movss dword [rbp + 0x50], xmm0
movss xmm1, dword [0x14017159c]
movss dword [rbp + 0x54], xmm1
movss xmm0, dword [0x1401715a0]
movss dword [rbp + 0x58], xmm0
mov dword [rbp + 0x80], 9
mov dword [rbp + 0x90], 0x647296ff
mov dword [rbp + 0xc0], 4
movss xmm0, dword [0x1401715a4]
movss dword [rbp + 0xd0], xmm0
mov qword [rbp + 0xd4], 0x3f800000
mov dword [rsp + 0x20], 0xffffffff
mov r9d, dword [rbx + 0x6090]
lea r8, [rbp - 0x80]
mov dl, 1
mov rcx, qword [0x140172bd8]
call fcn.1400a89e0
nop
lea r9, [fcn.140024e50]
mov edx, 0x40
lea r8d, [rdx - 0x39]
lea rcx, [rbp - 0x80]
call fcn.14011054c
nop
lea rcx, [rbp + 0x140]
call fcn.140024790
jmp 0x1400a7905