Function at 0x18003af80
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, [rsp - 0x60]
sub rsp, 0x160
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 [0x1800593b0]
xor rax, rsp
mov qword [rbp - 0x48], rax
mov ecx, dword [0x180059d28]
mov rax, qword gs:[0x58]
mov edx, 4
mov rcx, qword [rax + rcx*8]
mov eax, dword [rdx + rcx]
cmp dword [0x18005b390], eax
jle 0x18003b075
lea rcx, [0x18005b390]
call fcn.18004407c
cmp dword [0x18005b390], 0xffffffff
jne 0x18003b075
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x18003b047
imul rax, rax, 0x64
jmp 0x18003b062
cqo
idiv rbx
imul r8, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rax, r8
mov qword [0x18005b388], rax
lea rcx, [0x18005b390]
call fcn.18004401c
cmp byte [0x18005a140], 0
je 0x18003b66e
call fcn.18003d7c0
mov rsi, rax
mov rcx, qword [0x180059db8]
mov rdx, qword [rcx]
mov r8, qword [rdx + 0x30]
lea rdx, str.com_craftrise_client_S
call r8
mov qword [0x18005a288], rax
mov rcx, qword [0x180059db8]
mov rdx, qword [rcx]
mov r10, qword [rdx + 0x108]
lea r9, str.__Lcom_craftrise_client_fa_
lea r8, [0x18004f2fc]
mov rdx, rax
call r10
mov rbx, rax
call fcn.18003d7c0
mov r8, rbx
mov rdx, rax
mov rcx, qword [0x180059db8]
call fcn.1800343c0
mov rdi, rax
test rsi, rsi
je 0x18003b66e
mov rcx, qword [0x180059db8]
mov rax, qword [rcx]
mov r8, qword [rax + 0x30]
lea rdx, str.com_craftrise_client_S
call r8
mov qword [0x18005a288], rax
mov rcx, qword [0x180059db8]
mov rdx, qword [rcx]
mov r10, qword [rdx + 0x2f0]
lea r9, str.Lcom_craftrise_client_cf_
lea r8, [0x18004fb24]
mov rdx, rax
call r10
mov rbx, rax
mov qword [0x18005a2b0], rax
call fcn.18003d7c0
mov rcx, qword [0x180059db8]
mov rdx, qword [rcx]
mov r9, qword [rdx + 0x2f8]
mov r8, rbx
mov rdx, rax
call r9
mov qword [rbp - 0x50], rax
lea rcx, [rbp - 0x50]
call fcn.18003d880
mov r15, rax
test rax, rax
je 0x18003b66e
mov rcx, qword [0x180059db8]
mov rdx, qword [rcx]
mov r8, qword [rdx + 0xf8]
mov rdx, rax
call r8
mov rsi, rax
mov rcx, qword [0x180059db8]
mov rdx, qword [rcx]
mov r10, qword [rdx + 0x108]
lea r9, [0x18004f400]
lea r8, str.size
mov rdx, rax
call r10
mov rbx, rax
mov rcx, qword [0x180059db8]
mov rdx, qword [rcx]
mov r10, qword [rdx + 0x108]
lea r9, str._I_Ljava_lang_Object_
lea r8, [0x18004f420]
mov rdx, rsi
call r10
mov r13, rax
mov r8, rbx
mov rdx, r15
mov rcx, qword [0x180059db8]
call fcn.1800343f0
mov r12d, eax
xor ebx, ebx
mov r14d, ebx
test eax, eax
jle 0x18003b66e
movsd xmm14, qword [0x1800504d0]
movss xmm15, dword [0x18004ffdc]
movsd xmm13, qword [0x180050080]
movsd xmm8, qword [0x180050088]
nop word [rax + rax]
mov r9d, r14d
mov r8, r13
mov rdx, r15
mov rcx, qword [0x180059db8]
call fcn.1800343c0
mov rsi, rax
test rax, rax
je 0x18003b662
xorps xmm0, xmm0
movups xmmword [rbp - 0x78], xmm0
movups xmmword [rbp - 0x68], xmm0
mov qword [rbp - 0x78], rbx
mov qword [rbp - 0x68], rbx
mov qword [rbp - 0x60], recv
mov byte [rbp - 0x78], 0
mov qword [rbp - 0x58], rax
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], socket
mov byte [rsp + 0x38], 0
mov qword [rsp + 0x58], rdi
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x38]
call fcn.18003dc00
nop
lea rdx, [rsp + 0x38]
lea rcx, [rbp - 0x78]
call fcn.18003dc00
movups xmm0, xmmword [rax]
movsd xmm2, qword [rax + 0x10]
movsd xmm4, qword [rsp + 0x20]
subsd xmm4, xmm0
movsd xmm3, qword [rsp + 0x28]
unpckhpd xmm0, xmm0
subsd xmm3, xmm0
movsd xmm1, qword [rsp + 0x30]
movsd qword [rsp + 0x48], xmm2
subsd xmm1, xmm2
mulsd xmm4, xmm4
mulsd xmm3, xmm3
addsd xmm4, xmm3
mulsd xmm1, xmm1
addsd xmm4, xmm1
xorps xmm0, xmm0
ucomisd xmm0, xmm4
ja 0x18003b302
sqrtpd xmm6, xmm4
jmp 0x18003b30d
movaps xmm0, xmm4
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
movaps xmm6, xmm0
mov rcx, qword [0x180059db8]
mov rax, qword [rcx]
mov r8, qword [rax + 0x30]
lea rdx, str.com_craftrise_mj
call r8
mov rcx, qword [0x180059db8]
mov rdx, qword [rcx]
mov r10, qword [rdx + 0x108]
lea r9, [0x18004ff1c]
lea r8, [0x18004ff18]
mov rdx, rax
call r10
mov r8, rax
mov rdx, rsi
mov rcx, qword [0x180059db8]
call fcn.180034420
movss xmm1, dword [0x1800593f8]
cvtps2pd xmm1, xmm1
comisd xmm1, xmm6
jbe 0x18003b652
comiss xmm0, xmm15
jae 0x18003b383
xorps xmm1, xmm1
comiss xmm1, xmm0
jb 0x18003b652
mov rcx, qword [0x180059db8]
mov rax, qword [rcx]
mov r8, qword [rax + 0xf8]
mov rdx, rdi
call r8
mov rcx, qword [0x180059db8]
mov rdx, qword [rcx]
mov r10, qword [rdx + 0x2f0]
lea r9, [0x18004eb30]
lea r8, [0x18004f7d0]
mov rdx, rax
call r10
mov rcx, qword [0x180059db8]
mov rdx, qword [rcx]
mov r9, qword [rdx + 0x330]
mov r8, rax
mov rdx, rdi
call r9
movaps xmm11, xmm0
mov rcx, qword [0x180059db8]
mov rax, qword [rcx]
mov r8, qword [rax + 0xf8]
mov rdx, rdi
call r8
mov rcx, qword [0x180059db8]
mov rdx, qword [rcx]
mov r10, qword [rdx + 0x2f0]
lea r9, [0x18004eb30]
lea r8, [0x18004eb40]
mov rdx, rax
call r10
mov rcx, qword [0x180059db8]
mov rdx, qword [rcx]
mov r9, qword [rdx + 0x330]
mov r8, rax
mov rdx, rdi
call r9
movaps xmm12, xmm0
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x78], socket
mov byte [rsp + 0x60], 0
mov qword [rbp - 0x80], rdi
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x60]
call fcn.18003dc00
nop
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x78]
call fcn.18003dc00
movsd xmm6, qword [rsp + 0x20]
subsd xmm6, qword [rsp + 0x38]
movsd xmm7, qword [rsp + 0x30]
subsd xmm7, qword [rsp + 0x48]
movsd xmm10, qword [rsp + 0x28]
subsd xmm10, qword [rsp + 0x40]
movaps xmm1, xmm6
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2
movaps xmm9, xmm0
mulsd xmm9, xmm13
divsd xmm9, qword [0x180050040]
subsd xmm9, qword [0x180050078]
mulsd xmm7, xmm7
mulsd xmm6, xmm6
addsd xmm7, xmm6
xorps xmm1, xmm1
ucomisd xmm1, xmm7
ja 0x18003b4d8
sqrtpd xmm0, xmm7
jmp 0x18003b4e0
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
movaps xmm1, xmm0
movaps xmm0, xmm10
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2
movaps xmm6, xmm0
xorps xmm6, xmmword [0x1800504e0]
mulsd xmm6, xmm13
divsd xmm6, qword [0x180050040]
xorps xmm0, xmm0
cvtss2sd xmm0, xmm11
subsd xmm0, xmm9
andps xmm0, xmm14
movaps xmm1, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_fmod
movaps xmm7, xmm0
xorps xmm0, xmm0
cvtss2sd xmm0, xmm12
subsd xmm0, xmm6
andps xmm0, xmm14
movaps xmm1, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_fmod
comisd xmm7, xmm13
jbe 0x18003b54b
movaps xmm1, xmm8
subsd xmm1, xmm7
movaps xmm7, xmm1
movss xmm1, dword [0x180059408]
cvtps2pd xmm1, xmm1
comisd xmm1, xmm7
jbe 0x18003b652
comisd xmm1, xmm0
jbe 0x18003b652
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x18003b588
imul rbx, rax, 0x64
jmp 0x18003b5a4
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
lea rbx, [rax + rcx]
mov rax, rbx
sub rax, qword [0x18005b388]
cmp rax, 0x13ab6680
jl 0x18003b650
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt ax, 0xf
jae 0x18003b650
mov rax, qword [0x18005b2b0]
test rax, rax
jne 0x18003b624
mov rcx, qword [0x180059db8]
mov rax, qword [rcx]
mov r8, qword [rax + 0xf8]
mov rdx, rdi
call r8
mov rcx, qword [0x180059db8]
mov rdx, qword [rcx]
mov r10, qword [rdx + 0x2f0]
lea r9, [0x18004eb3c]
lea r8, [0x18004fc38]
mov rdx, rax
call r10
mov qword [0x18005b2b0], rax
test rax, rax
je 0x18003b641
mov rcx, qword [0x180059db8]
mov rdx, qword [rcx]
mov r10, qword [rdx + 0x368]
xor r9d, r9d
mov r8, rax
mov rdx, rdi
call r10
mov rcx, rsi
call fcn.180034750
mov qword [0x18005b388], rbx
xor ebx, ebx
mov qword [rbp - 0x68], rbx
mov qword [rbp - 0x60], recv
mov byte [rbp - 0x78], 0
inc r14d
cmp r14d, r12d
jl 0x18003b230
mov rcx, qword [rbp - 0x48]
xor rcx, rsp
call fcn.180043840
lea r11, [rsp + 0x160]
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