Function at 0x180039e80
Capabilities:
Log keystrokes via polling

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x130
mov rax, qword [0x180706040]
xor rax, rsp
mov qword [rsp + 0x78], rax
mov ecx, dword [0x180706b88]
mov rax, qword gs:[0x58]
mov edx, 4
mov rax, qword [rax + rcx*8]
mov ecx, dword [rdx + rax]
cmp dword [0x180707180], ecx
jle 0x180039eea
lea rcx, [0x180707180]
call fcn.18003ec2c
cmp dword [0x180707180], 0xffffffff
jne 0x180039eea
lea rcx, [0x180707178]
call fcn.180039220
lea rcx, [0x180707180]
call fcn.18003ebc0
call fcn.18003d0a0
mov rcx, qword [0x180706bc0]
lea rdx, str.com_craftrise_client_S
mov rsi, rax
mov r8, qword [rcx]
call qword [r8 + 0x30]
mov rcx, qword [0x180706bc0]
lea r9, str.__Lcom_craftrise_client_fa_
lea r8, [0x1806fd7b4]
mov qword [0x180706e58], rax
mov rdx, qword [rcx]
mov r10, qword [rdx + 0x108]
mov rdx, rax
call r10
mov rbx, rax
call fcn.18003d0a0
mov rcx, qword [0x180706bc0]
mov r8, rbx
mov rdx, rax
call fcn.180039190
mov rcx, qword [0x180706bc0]
lea rdx, str.com_craftrise_client_S
mov rdi, rax
mov rax, qword [rcx]
call qword [rax + 0x30]
mov rcx, qword [0x180706bc0]
lea r9, str.Lcom_craftrise_client_cf_
lea r8, [0x1806fda80]
mov qword [0x180706e58], rax
mov rdx, rax
mov r10, qword [rcx]
call qword [r10 + 0x2f0]
mov rbx, rax
mov qword [0x180706e80], rax
call fcn.18003d0a0
mov rcx, qword [0x180706bc0]
mov r8, rbx
mov rdx, qword [rcx]
mov r9, qword [rdx + 0x2f8]
mov rdx, rax
call r9
mov qword [rsp + 0x68], rax
test rsi, rsi
je 0x18003a5fd
lea rcx, [rsp + 0x68]
mov qword [rsp + 0x158], r12
call fcn.18003d150
mov r12, rax
test rax, rax
je 0x18003a5f5
mov rcx, qword [0x180706bc0]
mov qword [rsp + 0x160], r13
mov qword [rsp + 0x128], r14
mov rdx, qword [rcx]
mov r8, qword [rdx + 0xf8]
mov rdx, rax
call r8
mov rcx, qword [0x180706bc0]
lea r9, [0x1806fd804]
lea r8, str.size
mov rsi, rax
mov rdx, qword [rcx]
mov r10, qword [rdx + 0x108]
mov rdx, rax
call r10
mov rcx, qword [0x180706bc0]
lea r9, str._I_Ljava_lang_Object_
lea r8, [0x1806fd828]
mov rbx, rax
mov rdx, qword [rcx]
mov r10, qword [rdx + 0x108]
mov rdx, rsi
call r10
mov rcx, qword [0x180706bc0]
mov r8, rbx
mov rdx, r12
mov qword [rsp + 0x20], rax
mov rsi, rax
call fcn.1800391c0
xor r14d, r14d
mov r13d, eax
test eax, eax
jle 0x18003a5e5
mov qword [rsp + 0x150], rbp
movaps xmmword [rsp + 0x100], xmm7
movss xmm7, dword [0x1806fdb24]
movaps xmmword [rsp + 0xf0], xmm8
movss xmm8, dword [0x1806fdb58]
movaps xmmword [rsp + 0xb0], xmm12
movss xmm12, dword [0x1806fdd70]
movaps xmmword [rsp + 0xa0], xmm13
movss xmm13, dword [0x1806fdb94]
movaps xmmword [rsp + 0x90], xmm14
xorps xmm14, xmm14
movaps xmmword [rsp + 0x80], xmm15
movsd xmm15, qword [0x1806fdbd0]
mov qword [rsp + 0x120], r15
movaps xmmword [rsp + 0x110], xmm6
movaps xmmword [rsp + 0xe0], xmm9
movaps xmmword [rsp + 0xd0], xmm10
movaps xmmword [rsp + 0xc0], xmm11
nop dword [rax]
mov rcx, qword [0x180706bc0]
mov r9d, r14d
mov r8, rsi
mov rdx, r12
call fcn.180039190
mov rbp, rax
test rax, rax
je 0x18003a571
lea rdx, [rsp + 0x28]
mov qword [rsp + 0x70], rax
lea rcx, [rsp + 0x68]
mov qword [rsp + 0x68], rdi
call fcn.18003d1e0
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x70]
call fcn.18003d1e0
movsd xmm3, qword [rsp + 0x28]
movsd xmm4, qword [rsp + 0x30]
movsd xmm1, qword [rsp + 0x38]
movups xmm0, xmmword [rax]
movsd xmm2, qword [rax + 0x10]
subsd xmm3, xmm0
movsd qword [rsp + 0x60], xmm2
unpckhpd xmm0, xmm0
subsd xmm1, xmm2
subsd xmm4, xmm0
xorps xmm0, xmm0
mulsd xmm3, xmm3
mulsd xmm4, xmm4
mulsd xmm1, xmm1
addsd xmm4, xmm3
addsd xmm4, xmm1
ucomisd xmm0, xmm4
ja 0x18003a1bc
sqrtpd xmm6, xmm4
jmp 0x18003a1c7
movaps xmm0, xmm4
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
movaps xmm6, xmm0
mov rcx, qword [0x180706bc0]
lea rdx, str.com_craftrise_mj
mov rax, qword [rcx]
mov r8, qword [rax + 0x30]
call r8
mov rcx, qword [0x180706bc0]
lea r9, [0x1806fdaf4]
lea r8, [0x1806fdaf8]
mov rdx, qword [rcx]
mov r10, qword [rdx + 0x108]
mov rdx, rax
call r10
mov rcx, qword [0x180706bc0]
mov r8, rax
mov rdx, rbp
call fcn.18003d320
comisd xmm15, xmm6
movaps xmm11, xmm0
jbe 0x18003a571
ucomisd xmm6, xmm14
jp 0x18003a232
je 0x18003a571
ucomiss xmm11, xmm13
jp 0x18003a23e
je 0x18003a571
lea rcx, [rsp + 0x40]
call fcn.180039220
mov ecx, 0x57
mov r15, qword [rax]
sub r15, qword [0x180707178]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18003a52b
call fcn.18003d0a0
mov rcx, qword [0x180706bc0]
lea rdx, str.com_craftrise_client_S
mov rax, qword [rcx]
call qword [rax + 0x30]
mov rcx, qword [0x180706bc0]
lea r9, str.__Lcom_craftrise_client_fa_
lea r8, [0x1806fd7b4]
mov qword [0x180706e58], rax
mov rdx, qword [rcx]
mov r10, qword [rdx + 0x108]
mov rdx, rax
call r10
mov rbx, rax
call fcn.18003d0a0
mov rcx, qword [0x180706bc0]
mov r8, rbx
mov rdx, rax
call fcn.180039190
mov rcx, qword [0x180706bc0]
lea rdx, str.com_craftrise_m9
mov rbx, rax
mov qword [rsp + 0x68], rax
mov rax, qword [rcx]
mov r8, qword [rax + 0x30]
call r8
mov rcx, qword [0x180706bc0]
lea r9, str.Lcom_craftrise_dR_
lea r8, [0x1806fd95c]
mov rdx, rax
mov r10, qword [rcx]
call qword [r10 + 0x2f0]
mov rcx, qword [0x180706bc0]
lea rdx, str.com_craftrise_client_S
mov rax, qword [rcx]
call qword [rax + 0x30]
mov rcx, qword [0x180706bc0]
lea r9, str.__Lcom_craftrise_client_fa_
lea r8, [0x1806fd7b4]
mov qword [0x180706e58], rax
mov rdx, qword [rcx]
mov r10, qword [rdx + 0x108]
mov rdx, rax
call r10
mov rsi, rax
call fcn.18003d0a0
mov rcx, qword [0x180706bc0]
mov r8, rsi
mov rdx, rax
call fcn.180039190
mov rcx, qword [0x180706bc0]
mov rdx, rbx
mov rax, qword [rcx]
mov r8, qword [rax + 0xf8]
call r8
mov rcx, qword [0x180706bc0]
lea r9, [0x1806fcc78]
lea r8, [0x1806fd940]
mov rdx, qword [rcx]
mov r10, qword [rdx + 0x2f0]
mov rdx, rax
call r10
mov rcx, qword [0x180706bc0]
mov r8, rax
mov rdx, qword [rcx]
mov r9, qword [rdx + 0x330]
mov rdx, rbx
call r9
mov rcx, qword [0x180706bc0]
mov rdx, rbx
movaps xmm9, xmm0
mov rax, qword [rcx]
mov r8, qword [rax + 0xf8]
call r8
mov rcx, qword [0x180706bc0]
lea r9, [0x1806fcc78]
lea r8, [0x1806fcc84]
mov rdx, qword [rcx]
mov r10, qword [rdx + 0x2f0]
mov rdx, rax
call r10
mov rcx, qword [0x180706bc0]
mov r8, rax
mulss xmm9, xmm7
mov rdx, qword [rcx]
mov r9, qword [rdx + 0x330]
mov rdx, rbx
call r9
movaps xmm6, xmm0
movaps xmm0, xmm9
mulss xmm6, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
movaps xmm10, xmm0
movaps xmm0, xmm6
xorps xmm10, xmm12
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
movaps xmm7, xmm0
movaps xmm0, xmm6
mulss xmm7, xmm10
mulss xmm7, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
movaps xmm6, xmm0
movaps xmm0, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
mulss xmm6, xmm0
mov ecx, 0x41
mulss xmm6, xmm8
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18003a494
movaps xmm0, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
mulss xmm0, xmm8
addss xmm7, xmm0
movaps xmm0, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
mulss xmm0, xmm8
addss xmm6, xmm0
mov ecx, 0x53
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18003a4cc
movaps xmm0, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
xorps xmm0, xmm12
mulss xmm0, xmm8
addss xmm7, xmm0
movaps xmm0, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
mulss xmm0, xmm8
addss xmm6, xmm0
mov ecx, 0x44
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18003a4fc
movaps xmm0, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
xorps xmm0, xmm12
mulss xmm10, xmm8
mulss xmm0, xmm8
addss xmm6, xmm10
addss xmm7, xmm0
xorps xmm1, xmm1
lea rcx, [rsp + 0x68]
cvtss2sd xmm1, xmm7
call fcn.18003c840
xorps xmm1, xmm1
lea rcx, [rsp + 0x68]
cvtss2sd xmm1, xmm6
call fcn.18003ca00
movss xmm7, dword [0x1806fdb24]
mov rsi, qword [rsp + 0x20]
cmp r15, 0x7270e00
jl 0x18003a571
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
movaps xmm1, xmm11
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___float____ptr64]
mov rcx, rax
lea rdx, [0x1800018f0]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov rcx, rbp
call fcn.180039c10
lea rcx, [rsp + 0x48]
call fcn.180039220
mov rcx, qword [rax]
mov qword [0x180707178], rcx
inc r14d
cmp r14d, r13d
jl 0x18003a120
movaps xmm15, xmmword [rsp + 0x80]
movaps xmm14, xmmword [rsp + 0x90]
movaps xmm13, xmmword [rsp + 0xa0]
movaps xmm12, xmmword [rsp + 0xb0]
movaps xmm11, xmmword [rsp + 0xc0]
movaps xmm10, xmmword [rsp + 0xd0]
movaps xmm9, xmmword [rsp + 0xe0]
movaps xmm8, xmmword [rsp + 0xf0]
movaps xmm7, xmmword [rsp + 0x100]
movaps xmm6, xmmword [rsp + 0x110]
mov r15, qword [rsp + 0x120]
mov rbp, qword [rsp + 0x150]
mov r13, qword [rsp + 0x160]
mov r14, qword [rsp + 0x128]
mov r12, qword [rsp + 0x158]
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.18003e830
add rsp, 0x130
pop rdi
pop rsi
pop rbx
ret