Function at 0x180047530
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x70]
sub rsp, 0x170
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
movaps xmmword [rax - 0x98], xmm11
movaps xmmword [rax - 0xa8], xmm12
movaps xmmword [rax - 0xb8], xmm14
mov rax, qword [0x1800c2240]
xor rax, rsp
mov qword [rbp - 0x20], rax
mov rbx, rdx
mov r14, rcx
xor r12d, r12d
mov esi, r12d
mov dword [rsp + 0x28], r12d
mov r8d, dword [0x18018430c]
mov rax, qword gs:[0x58]
mov r15d, 4
mov rdi, qword [rax + r8*8]
mov eax, dword [rdi + r15]
cmp dword [0x180185820], eax
jle 0x1800475f2
lea rcx, [0x180185820]
call fcn.1800937c8
cmp dword [0x180185820], 0xffffffff
jne 0x1800475f2
lea rcx, [0x180185808]
call fcn.180046d40
lea rcx, [0x180185820]
call fcn.18009375c
mov eax, dword [rdi + r15]
cmp dword [0x180185800], eax
jle 0x18004762b
lea rcx, [0x180185800]
call fcn.1800937c8
cmp dword [0x180185800], 0xffffffff
jne 0x18004762b
lea rcx, [0x180185828]
call fcn.180046d40
lea rcx, [0x180185800]
call fcn.18009375c
movsxd rdi, dword [r14 + 0xfc]
mov byte [rsp + 0x20], sil
cmp dword [r14 + 0x108], 1
ja 0x1800476bd
lea rdx, [rsp + 0x58]
mov rcx, rbx
call fcn.18001fc20
nop
mov esi, 1
mov dword [rsp + 0x28], esi
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0xf
jbe 0x180047666
mov rax, qword [rax]
cmp r8, 0x15
jne 0x18004767f
lea rdx, str.PlayerAuthInputPacket
mov rcx, rax
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1800476b8
lea rdx, [rsp + 0x38]
mov rcx, rbx
call fcn.18001fc20
mov esi, 3
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0xf
jbe 0x18004769f
mov rax, qword [rax]
cmp r8, 0x10
jne 0x1800476bd
lea rdx, str.MovePlayerPacket
mov rcx, rax
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1800476bd
mov r15b, 1
jmp 0x1800476c0
xor r15b, r15b
test sil, 2
je 0x18004771c
and esi, 0xfffffffd
mov rdx, qword [rsp + 0x50]
cmp rdx, 0xf
jbe 0x180047709
inc rdx
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180047704
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180047704
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180093bf4
movdqa xmm0, xmmword [0x1800aeb50]
movdqu xmmword [rsp + 0x48], xmm0
mov byte [rsp + 0x38], 0
test sil, 1
je 0x180047765
and esi, 0xfffffffe
mov rdx, qword [rsp + 0x70]
cmp rdx, 0xf
jbe 0x180047765
inc rdx
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180047760
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180047760
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180093bf4
test r15b, r15b
je 0x180047f37
lea rcx, [rsp + 0x28]
call fcn.180046d40
mov r13, r12
lea rdx, [rsp + 0x58]
mov rcx, rbx
call fcn.18001fc20
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0xf
jbe 0x180047796
mov rax, qword [rax]
cmp r8, 0x15
jne 0x1800477b4
lea rdx, str.PlayerAuthInputPacket
mov rcx, rax
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1800477b4
mov r15b, 1
jmp 0x1800477b7
xor r15b, r15b
mov rdx, qword [rsp + 0x70]
cmp rdx, 0xf
jbe 0x1800477f7
inc rdx
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800477f2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800477f2
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180093bf4
movss xmm14, dword [0x1800af2e0]
movss xmm7, dword [0x1800ae9f8]
xorps xmm11, xmm11
movss xmm6, dword [0x1800ae924]
test r15b, r15b
je 0x1800478cd
mov r13, rbx
mov r8d, dword [rbx + 0x88]
mov eax, 0x2aaaaaab
imul r8d
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea ecx, [rdx + rdx*2]
shl ecx, 3
mov eax, r8d
sub eax, ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm7
movss xmm4, dword [rbx + 0x3c]
movaps xmm2, xmm4
subss xmm2, xmm11
comiss xmm11, xmm0
jbe 0x180047867
xorps xmm3, xmm3
jmp 0x18004786e
movaps xmm3, xmm6
minss xmm3, xmm0
movaps xmm1, xmm2
maxss xmm1, xmm4
movaps xmm0, xmm2
minss xmm0, xmm4
subss xmm1, xmm0
mulss xmm1, xmm3
comiss xmm4, xmm2
ja 0x18004788d
xorps xmm1, xmm14
addss xmm2, xmm1
movss dword [rbx + 0x3c], xmm2
mov dword [rbx + 0x4c], 0xbd2aaaab
mov eax, 0x2aaaaaab
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
shl eax, 2
sub r8d, eax
je 0x1800478bf
cmp r8d, 0xc
jne 0x1800478c8
mov eax, 0x80000000
or qword [rbx + 0x70], rax
or qword [rbx + 0x70], 0x40
lea rdx, [rsp + 0x58]
mov rcx, rbx
call fcn.18001fc20
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0xf
jbe 0x1800478e8
mov rax, qword [rax]
cmp r8, 0x10
jne 0x180047906
lea rdx, str.MovePlayerPacket
mov rcx, rax
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x180047906
mov r15b, 1
jmp 0x180047909
xor r15b, r15b
mov rdx, qword [rsp + 0x70]
cmp rdx, 0xf
jbe 0x180047949
inc rdx
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180047944
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180047944
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180093bf4
test r15b, r15b
je 0x1800479c0
mov r12, rbx
mov ecx, dword [rbx + 0x68]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
shl eax, 3
sub ecx, eax
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
divss xmm0, xmm7
movss xmm3, dword [rbx + 0x3c]
movaps xmm2, xmm3
subss xmm2, xmm11
comiss xmm11, xmm0
jbe 0x180047990
xorps xmm6, xmm6
jmp 0x180047994
minss xmm6, xmm0
movaps xmm1, xmm2
maxss xmm1, xmm3
movaps xmm0, xmm2
minss xmm0, xmm3
subss xmm1, xmm0
mulss xmm1, xmm6
comiss xmm3, xmm2
ja 0x1800479b3
xorps xmm1, xmm14
addss xmm2, xmm1
movss dword [rbx + 0x3c], xmm2
mov byte [rbx + 0x51], 1
mov ecx, 0x57
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movss xmm12, dword [0x1800ae890]
mov rbx, qword [rsp + 0x28]
test ax, ax
js 0x180047b14
mov ecx, 0x41
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
js 0x180047b14
mov ecx, 0x53
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
js 0x180047b14
mov ecx, 0x44
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
js 0x180047b14
mov rax, rbx
sub rax, qword [0x180185808]
imul rcx, rdi, 0xf4240
cmp rax, rcx
je 0x180047a3a
jl 0x180047b14
mov qword [0x180185808], rbx
mov byte [rsp + 0x20], 1
test r13, r13
je 0x180047aed
movss xmm8, dword [r13 + 0x34]
movss xmm0, dword [r13 + 0x30]
mulss xmm8, xmm12
mulss xmm0, xmm12
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
movaps xmm6, xmm0
xorps xmm6, xmm14
movaps xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
movaps xmm7, xmm0
mulss xmm7, xmm6
movaps xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
mulss xmm0, xmm6
movss xmm3, dword [0x1800ae9e4]
minss xmm3, dword [0x1801843fc]
movaps xmm2, xmm3
mulss xmm2, xmm7
movaps xmm1, xmm2
addss xmm1, dword [r13 + 0x38]
movss dword [r13 + 0x38], xmm1
mulss xmm3, xmm0
movss xmm0, dword [r13 + 0x40]
subss xmm0, xmm3
movss dword [r13 + 0x40], xmm0
test r12, r12
je 0x180047aed
addss xmm2, dword [r12 + 0x38]
movss dword [r12 + 0x38], xmm2
movss xmm0, dword [r12 + 0x40]
subss xmm0, xmm3
movss dword [r12 + 0x40], xmm0
cmp dword [r14 + 0x108], 0
jne 0x180047b14
mov rax, qword [0x180184418]
mov rcx, qword [rax + 0xd0]
mov rax, qword [rcx + 0xd8]
mov dword [rax], 0x42c40000
jmp 0x180047b2f
mov rax, qword [0x180184418]
mov rcx, qword [rax + 0xd0]
mov rax, qword [rcx + 0xd8]
mov dword [rax], 0x41a00000
mov rax, rbx
sub rax, qword [0x180185828]
je 0x180047b44
test rax, rax
js 0x180047e62
mov qword [0x180185828], rbx
mov rcx, qword [0x180184418]
test rcx, rcx
jne 0x180047b5c
xor r15d, r15d
jmp 0x180047b6b
mov rax, qword [rcx]
mov rdx, qword [rax + 0xe0]
call rdx
mov r15, rax
mov rcx, qword [r15 + 0x288]
test rcx, rcx
je 0x180047e62
lea rdi, [r14 + 0xc0]
mov rax, qword [rdi]
cmp rax, qword [rdi + 8]
je 0x180047b8f
mov qword [rdi + 8], rax
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x38], xmm0
mov qword [rsp + 0x48], 0
or esi, 4
mov dword [rsp + 0x28], esi
mov rax, qword [rcx]
mov r8, qword [rax + 0x930]
lea rdx, [rsp + 0x38]
call r8
mov r12, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x38]
movsd xmm10, qword [0x1800ae968]
cmp rbx, r12
je 0x180047cba
nop word [rax + rax]
movzx edx, byte [r14 + 0xbc]
mov rcx, qword [rbx]
call fcn.18008f390
test al, al
je 0x180047ca8
mov rsi, qword [rbx]
mov rax, qword [rsi + 0x2c8]
mov rcx, qword [r15 + 0x2c8]
movss xmm7, dword [rax + 8]
subss xmm7, dword [rcx + 8]
movss xmm6, dword [rax + 4]
subss xmm6, dword [rcx + 4]
movss xmm0, dword [rax]
subss xmm0, dword [rcx]
cvtps2pd xmm0, xmm0
movaps xmm1, xmm10
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movaps xmm8, xmm0
cvtps2pd xmm0, xmm6
movaps xmm1, xmm10
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
addsd xmm8, xmm0
cvtps2pd xmm0, xmm7
movaps xmm1, xmm10
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
addsd xmm8, xmm0
xorps xmm1, xmm1
ucomisd xmm1, xmm8
ja 0x180047c6b
xorps xmm0, xmm0
sqrtsd xmm0, xmm8
jmp 0x180047c74
movaps xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movss xmm0, dword [r14 + 0xb8]
comiss xmm0, xmm1
jbe 0x180047ca8
mov rdx, qword [rdi + 8]
cmp rdx, qword [rdi + 0x10]
je 0x180047c9d
mov qword [rdx], rsi
add qword [rdi + 8], 8
jmp 0x180047ca8
mov r8, rbx
mov rcx, rdi
call fcn.180009db0
add rbx, 8
cmp rbx, r12
jne 0x180047be0
mov rbx, qword [rsp + 0x38]
test rbx, rbx
je 0x180047cfb
mov rdx, qword [rsp + 0x48]
sub rdx, rbx
and rdx, 0xfffffffffffffff8
mov rax, rbx
cmp rdx, 0x1000
jb 0x180047cf3
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180047cf3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rbx
call fcn.180093bf4
mov rcx, qword [r14 + 0xc0]
cmp rcx, qword [r14 + 0xc8]
je 0x180047e62
mov rdx, qword [r14 + 0xc8]
mov r8, rdx
sub r8, rcx
sar r8, 3
lea r9, [0x18003deb0]
call fcn.18002a760
mov rax, qword [r14 + 0xc0]
mov rcx, qword [rax]
mov rax, qword [rcx + 0x2c8]
mov rbx, qword [r15 + 0x2c8]
movss xmm7, dword [rax]
movss xmm8, dword [rax + 4]
movss xmm9, dword [rax + 8]
movaps xmm0, xmm8
subss xmm0, dword [rbx + 4]
cvtps2pd xmm0, xmm0
movaps xmm1, xmm10
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movaps xmm6, xmm0
movaps xmm0, xmm7
subss xmm0, dword [rbx]
cvtps2pd xmm0, xmm0
movaps xmm1, xmm10
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
addsd xmm6, xmm0
movaps xmm2, xmm9
subss xmm2, dword [rbx + 8]
cvtps2pd xmm0, xmm2
movaps xmm1, xmm10
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
addsd xmm6, xmm0
xorps xmm1, xmm1
ucomisd xmm1, xmm6
ja 0x180047dae
xorps xmm0, xmm0
sqrtsd xmm0, xmm6
jmp 0x180047db6
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movss xmm0, dword [r14 + 0x98]
comiss xmm0, xmm1
jbe 0x180047e62
subss xmm7, xmm11
movss dword [rsp + 0x28], xmm7
subss xmm8, xmm11
movss dword [rsp + 0x2c], xmm8
subss xmm9, xmm11
movss dword [rsp + 0x30], xmm9
mov rcx, r15
call fcn.1800381e0
lea r9, [rsp + 0x28]
mov r8, rax
lea rcx, [rbp - 0x80]
call fcn.18003c4d0
mov rax, qword [0x180184418]
mov rcx, qword [rax + 0xf0]
mov rax, qword [rcx]
lea rdx, [rbp - 0x80]
call qword [rax + htons]
mov rcx, qword [0x180184418]
test rcx, rcx
jne 0x180047e33
xor eax, eax
jmp 0x180047e3f
mov rax, qword [rcx]
mov rdx, qword [rax + 0xe0]
call rdx
mov rcx, qword [rax + 0xf10]
mov rax, qword [rcx]
mov rdx, qword [r14 + 0xc0]
mov rdx, qword [rdx]
call qword [rax + 0x70]
mov rax, qword [r15]
mov rcx, r15
call qword [rax + 0x420]
cmp byte [rsp + 0x20], 0
je 0x180047f37
mov ecx, 0x57
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
js 0x180047eb1
mov ecx, 0x41
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
js 0x180047eb1
mov ecx, 0x53
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
js 0x180047eb1
mov ecx, 0x44
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x180047f37
test r13, r13
je 0x180047f1c
movss xmm7, dword [r13 + 0x34]
mulss xmm7, xmm12
movss xmm0, dword [r13 + 0x30]
mulss xmm0, xmm12
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
movaps xmm6, xmm0
xorps xmm6, xmm14
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
mulss xmm0, xmm6
mulss xmm0, dword [0x1800ae9e4]
movss xmm1, dword [r13 + 0x38]
subss xmm1, xmm0
movss dword [r13 + 0x38], xmm1
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
mulss xmm0, xmm6
mulss xmm0, dword [0x1800ae9e4]
addss xmm0, dword [r13 + 0x40]
movss dword [r13 + 0x40], xmm0
mov rax, qword [0x180184418]
mov rcx, qword [rax + 0xd0]
mov rax, qword [rcx + 0xd8]
mov dword [rax], 0x41a00000
mov rcx, qword [rbp - 0x20]
xor rcx, rsp
call fcn.180093700
lea r11, [rsp + 0x170]
mov rbx, qword [r11 + 0x50]
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 xmm14, xmmword [r11 - 0x80]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret