Function at 0x1400013e0
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1390]
mov eax, 0x1490
call fcn.140002eb0
sub rsp, rax
movaps xmmword [rsp + 0x1480], xmm6
movaps xmmword [rsp + 0x1470], xmm7
movaps xmmword [rsp + 0x1460], xmm8
movaps xmmword [rsp + 0x1450], xmm9
movaps xmmword [rsp + 0x1440], xmm10
movaps xmmword [rsp + 0x1430], xmm11
movaps xmmword [rsp + 0x1420], xmm12
movaps xmmword [rsp + 0x1410], xmm13
movaps xmmword [rsp + 0x1400], xmm14
movaps xmmword [rsp + 0x13f0], xmm15
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp + 0x12e0], rax
movsd xmm11, qword [0x1400044f8]
xor r15b, r15b
movsd xmm10, qword [0x140004518]
xor r12b, r12b
movsd xmm13, qword [0x1400044f0]
xor r13d, r13d
movsd xmm14, qword [0x140004528]
xorps xmm9, xmm9
movsd xmm15, qword [0x140004508]
movsd xmm12, qword [0x140004520]
nop dword [rax]
mov ecx, 0x12
movzx edi, r15b
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movzx ebx, ax
shr ebx, 0xf
and bl, 1
je 0x140001515
test r12b, r12b
jne 0x140001515
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, str.Autoclick_activ
test r15b, r15b
sete r15b
test dil, dil
je 0x140001500
lea rdx, str.Autoclick_dsactiv
call fcn.140001c10
lea rdx, [0x140001de0]
mov rcx, rax
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 byte [rsp + 0x30], bl
movzx r12d, bl
cmp r15b, 1
jne 0x1400014c0
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov dword [rbp + 0x12d4], 0xffffffff
mov edx, 1
mov dword [rsp + 0x54], eax
nop dword [rax]
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, edx
mov dword [rsp + rdx*4 + 0x54], eax
inc rdx
cmp rdx, 0x270
jb 0x140001540
mov edx, 0x270
mov dword [rsp + 0x50], edx
nop dword [rax + rax]
movaps xmm8, xmm9
movaps xmm1, xmm11
mov r10d, 2
nop
cmp edx, 0x270
jne 0x1400015d2
lea r8, [rsp + 0x58]
mov r9d, edx
mov edx, dword [r8 - 4]
xor edx, dword [r8]
lea r8, [r8 + 4]
btr edx, 0x1f
xor edx, dword [r8 - 8]
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [r8 + 0x62c]
xor ecx, edx
mov dword [r8 + 0x9b8], ecx
sub r9, 1
jne 0x140001590
mov edx, dword [rsp + 0x50]
jmp 0x1400016c0
cmp edx, 0x4e0
jb 0x1400016c0
mov r8, r13
nop dword [rax]
nop word [rax + rax]
mov edx, dword [rbp + r8*4 + 0x918]
xor edx, dword [rbp + r8*4 + 0x914]
btr edx, 0x1f
xor edx, dword [rbp + r8*4 + 0x914]
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [rbp + r8*4 + 0xf48]
xor ecx, edx
mov dword [rsp + r8*4 + 0x54], ecx
inc r8
cmp r8, 0xe3
jb 0x1400015f0
mov r8d, 0xe3
nop dword [rax]
mov edx, dword [rbp + r8*4 + 0x918]
xor edx, dword [rbp + r8*4 + 0x914]
btr edx, 0x1f
xor edx, dword [rbp + r8*4 + 0x914]
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [rbp + r8*4 - 0x438]
xor ecx, edx
mov dword [rsp + r8*4 + 0x54], ecx
inc r8
cmp r8, 0x26f
jb 0x140001640
mov edx, dword [rbp + 0x12d0]
xor edx, dword [rsp + 0x54]
btr edx, 0x1f
xor edx, dword [rbp + 0x12d0]
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, edx
mov edx, r13d
xor ecx, dword [rbp + 0x584]
mov dword [rbp + 0x910], ecx
mov dword [rsp + 0x50], edx
mov eax, edx
xorps xmm0, xmm0
inc edx
mov ecx, dword [rsp + rax*4 + 0x54]
mov eax, ecx
shr eax, 0xb
and eax, dword [rbp + 0x12d4]
xor ecx, eax
mov dword [rsp + 0x50], edx
mov eax, ecx
and eax, 0xff3a58ad
shl eax, 7
xor ecx, eax
mov eax, ecx
and eax, 0xffffdf8c
shl eax, 0xf
xor ecx, eax
mov eax, ecx
shr eax, 0x12
xor eax, ecx
cvtsi2sd xmm0, rax
subsd xmm0, xmm9
mulsd xmm0, xmm1
mulsd xmm1, xmm10
addsd xmm8, xmm0
sub r10, 1
jne 0x140001580
divsd xmm8, xmm1
lea ebx, [r10 + 2]
movaps xmm6, xmm9
movaps xmm1, xmm11
addsd xmm8, xmm8
subsd xmm8, xmm11
nop dword [rax + rax]
lea rcx, [rsp + 0x50]
call fcn.140001e90
mov eax, eax
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
subsd xmm0, xmm9
mulsd xmm0, xmm1
mulsd xmm1, xmm10
addsd xmm6, xmm0
sub rbx, 1
jne 0x140001740
divsd xmm6, xmm1
movaps xmm0, xmm8
addsd xmm6, xmm6
mulsd xmm0, xmm8
subsd xmm6, xmm11
movaps xmm7, xmm6
mulsd xmm7, xmm6
addsd xmm7, xmm0
comisd xmm11, xmm7
jbe 0x1400017a6
ucomisd xmm8, xmm9
jp 0x14000179d
je 0x1400017a6
ucomisd xmm6, xmm9
jp 0x1400017af
jne 0x1400017af
mov edx, dword [rsp + 0x50]
jmp 0x140001570
comisd xmm7, xmm13
jbe 0x1400017c3
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_log
movaps xmm2, xmm0
jmp 0x140001836
movaps xmm0, xmm6
movaps xmm1, xmm8
andps xmm0, xmmword [0x140004530]
andps xmm1, xmmword [0x140004530]
maxsd xmm0, xmm1
call qword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_ilogb]
mov ebx, eax
movaps xmm0, xmm8
neg ebx
mov edi, eax
mov edx, ebx
call qword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_scalbn]
movaps xmm8, xmm0
mov edx, ebx
movaps xmm0, xmm6
call qword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_scalbn]
movaps xmm7, xmm0
movaps xmm1, xmm8
mulsd xmm7, xmm7
mulsd xmm1, xmm8
addsd xmm7, xmm1
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_log
movd xmm1, edi
movaps xmm2, xmm0
cvtdq2pd xmm1, xmm1
mulsd xmm1, qword [0x140004500]
addsd xmm2, xmm1
mulsd xmm2, xmm14
xorps xmm0, xmm0
divsd xmm2, xmm7
ucomisd xmm0, xmm2
ja 0x140001851
xorps xmm0, xmm0
sqrtsd xmm0, xmm2
jmp 0x140001859
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
mulsd xmm0, xmm8
mulsd xmm0, xmm15
addsd xmm0, qword [0x140004510]
cvttsd2si r14, xmm0
mov edi, r14d
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
mov rcx, rax
cmp rbx, 0x989680
jne 0x140001894
imul rsi, rcx, 0x64
jmp 0x1400018ba
cqo
idiv rbx
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
mov rsi, rax
mov rax, rcx
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
add rsi, rcx
test r14d, r14d
je 0x1400018e3
imul rcx, rdi, 0xf4240
movabs rdx, 0x7fffffffffffffff
mov rax, rdx
sub rax, rcx
cmp rsi, rax
jge 0x1400018e0
add rsi, rcx
jmp 0x1400018e3
mov rsi, rdx
movabs r13, 0x311cdad160000
movabs r12, 0x112e0be826d694b3
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rdi, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
mov rcx, rax
cmp rdi, 0x989680
jne 0x140001918
imul rbx, rcx, 0x64
jmp 0x14000193e
cqo
idiv rdi
imul rax, rdx, 0x3b9aca00
cqo
idiv rdi
mov rbx, rax
mov rax, rcx
cqo
idiv rdi
imul rcx, rax, 0x3b9aca00
add rbx, rcx
cmp rbx, rsi
jge 0x1400019b6
call qword [sym.imp.MSVCP140.dll__Xtime_get_ticks]
imul rcx, rax, 0x64
xorps xmm0, xmm0
mov rax, rsi
sub rax, rbx
lea r8, [rcx + r13]
cvtsi2sd xmm0, rax
comisd xmm0, xmm12
seta r9b
test r9b, r9b
jne 0x140001971
lea r8, [rcx + rax]
add rax, rcx
lea rdx, [rcx + r13]
test r9b, r9b
lea rcx, [rsp + 0x38]
cmove rdx, rax
mov rax, r12
imul rdx
sar rdx, 0x1a
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul eax, edx, 0x3b9aca00
mov qword [rsp + 0x38], rdx
sub r8d, eax
mov dword [rsp + 0x40], r8d
call qword [sym.imp.MSVCP140.dll__Thrd_sleep]
jmp 0x1400018f7
xor edx, edx
xor r13d, r13d
xor r9d, r9d
mov qword [rsp + 0x20], r13
xor r8d, r8d
lea ecx, [rdx + 2]
call qword [sym.imp.USER32.dll_mouse_event]
xor edx, edx
mov qword [rsp + 0x20], r13
xor r9d, r9d
xor r8d, r8d
lea ecx, [rdx + 4]
call qword [sym.imp.USER32.dll_mouse_event]
mov ecx, r14d
call qword [sym.imp.KERNEL32.dll_Sleep]
movzx r12d, byte [rsp + 0x30]
jmp 0x1400014c0