Function at 0x1400012a0
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister
Get graphical window text
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 - 0x1520]
mov eax, 0x1620
call fcn.140002c00
sub rsp, rax
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp + 0x1510], rax
movabs r13, 0xb2f4fc0794908cf3
movabs r15, 0x4e94914effff
movabs r12, 0x431bde82d7b634db
xor esi, esi
nop
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x140001317
mov byte [0x140005074], 1
mov ecx, 0x79
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x140001345
cmp byte [0x140005075], 0
sete byte [0x140005075]
mov edx, 0x12c
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Beep]
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov dword [rbp + 0x1304], 0xffffffff
mov dword [rbp - 0x7c], eax
mov edx, 1
nop dword [rax]
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, edx
mov dword [rbp + rdx*4 - 0x7c], eax
inc rdx
cmp rdx, 0x270
jb 0x140001360
mov dword [rbp - 0x80], 0x270
cmp byte [0x140005075], 0
je 0x140001300
cmp byte [0x140005074], 0
je 0x140001300
lea rdx, str.Lunar_Client_1.8.9__v2.15.7_2424_
lea rcx, [rsp + 0x50]
call fcn.140001870
mov rbx, rax
mov qword [rsp + 0x28], rax
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov r8d, pe_nt_image_headers64
lea rdx, [rbp + 0x1310]
mov rcx, rax
call qword [sym.imp.USER32.dll_GetWindowTextW]
lea rdx, [rbp + 0x1310]
lea rcx, [rsp + 0x30]
call fcn.140001870
mov rdx, rbx
mov rcx, rax
call fcn.140001700
mov rdi, rax
mov rdx, qword [rsp + 0x48]
cmp rdx, 7
jbe 0x140001436
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001431
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400016ef
call fcn.140001e34
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x48], 7
mov word [rsp + 0x30], si
mov rdx, qword [rbx + 0x18]
cmp rdx, 7
jbe 0x140001488
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbx]
cmp rdx, 0x1000
jb 0x140001483
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1400016f6
mov rcx, r8
call fcn.140001e34
mov qword [rbx + 0x10], rsi
mov qword [rbx + 0x18], 7
mov word [rbx], si
cmp rdi, 0xffffffffffffffff
je 0x140001300
lea rcx, [rbp - 0x80]
call fcn.140001c20
mov ecx, eax
lea rsi, [rcx + rcx*2]
test esi, esi
jne 0x1400014c8
lea rcx, [rbp - 0x80]
call fcn.140001c20
mov ecx, eax
lea rsi, [rcx + rcx*2]
cmp esi, 1
jb 0x1400014b4
shr rsi, 0x20
xor ebx, ebx
mov r14d, ebx
test esi, esi
je 0x1400016e3
nop dword [rax]
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x54], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x68], xmm1
mov dword [rsp + 0x50], ebx
mov dword [rsp + 0x64], 2
mov r8d, 0x28
lea rdx, [rsp + 0x50]
lea ecx, [r8 - 0x27]
call qword [sym.imp.USER32.dll_SendInput]
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x54], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x68], xmm1
mov dword [rsp + 0x50], ebx
mov dword [rsp + 0x64], 4
mov r8d, 0x28
lea rdx, [rsp + 0x50]
lea ecx, [r8 - 0x27]
call qword [sym.imp.USER32.dll_SendInput]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140001a30
mov edx, r14d
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___int____ptr64]
lea rdx, [0x140001be0]
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 edx, 0x32
mov ecx, 0x1388
call qword [sym.imp.KERNEL32.dll_Beep]
lea rcx, [rbp - 0x80]
call fcn.140001c20
mov ecx, eax
imul rbx, rcx, 0x92
cmp ebx, 0x1f
ja 0x1400015ac
lea rcx, [rbp - 0x80]
call fcn.140001c20
mov ecx, eax
imul rbx, rcx, 0x92
cmp ebx, 0x20
jb 0x140001595
shr rbx, 0x20
add rbx, 5
lea rcx, [rsp + 0x20]
mov rdi, rbx
call fcn.1400011c0
mov rdx, qword [rsp + 0x20]
imul r8, rdi, 0xf4240
imul rax, rbx, 0xf4240
movabs r9, 0x7fffffffffffffff
mov rcx, r9
sub rcx, rax
cmp rdx, rcx
lea rdi, [r8 + rdx]
jl 0x1400015f0
mov rdi, r9
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 0x140001611
imul rax, rcx, 0x64
jmp 0x140001682
cmp rbx, 0x16e3600
jne 0x140001664
mov rax, r13
imul rcx
lea r9, [rcx + rdx]
sar r9, 0x18
mov rax, r9
shr rax, 0x3f
add r9, rax
imul rax, r9, 0x16e3600
sub rcx, rax
imul r8, rcx, 0x3b9aca00
mov rax, r13
imul r8
lea rax, [r8 + rdx]
sar rax, 0x18
mov rcx, rax
shr rcx, 0x3f
add rax, rcx
imul rcx, r9, 0x3b9aca00
jmp 0x14000167f
cqo
idiv rbx
mov rcx, rax
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
imul rcx, rcx, 0x3b9aca00
add rax, rcx
cmp rdi, rax
je 0x1400016d2
jl 0x1400016d2
mov rcx, rdi
sub rcx, rax
cmp rcx, r15
jg 0x1400016c3
mov rax, r12
imul rcx
sar rdx, 0x12
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rax, rdx, 0xf4240
cmp rax, rcx
jge 0x1400016b7
inc rdx
mov ecx, edx
call sub.KERNEL32.dll_Sleep
jmp 0x1400015f0
mov ecx, 0x5265c00
call sub.KERNEL32.dll_Sleep
jmp 0x1400015f0
inc r14d
cmp r14d, esi
mov ebx, 0
jl 0x1400014e0
mov byte [0x140005074], 0
jmp 0x1400012fc
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3