Function at 0x7ff720f552d0
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
push rbp
lea rbp, [rsp - 0x1310]
mov eax, 0x1410
call fcn.7ff720f5d320
sub rsp, rax
mov rax, qword [0x7ff720f6a040]
xor rax, rsp
mov qword [rbp + 0x12f0], rax
call qword [sym.imp.USER32.dll_GetForegroundWindow]
xor r9d, r9d
mov edx, 0x201
mov rcx, rax
lea r8d, [r9 + 2]
call qword [sym.imp.USER32.dll_PostMessageA]
cmp byte [0x7ff720f7ddf9], 0
je 0x7ff720f55627
mov qword [rsp + 0x1420], rbx
mov qword [rsp + 0x1428], rdi
movaps xmmword [rsp + 0x1400], xmm6
call qword [sym.imp.msvcp140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov dword [rbp + 0x12e4], 0xffffffff
mov edx, 1
mov dword [rsp + 0x64], eax
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, edx
mov dword [rsp + rdx*4 + 0x64], eax
inc rdx
cmp rdx, 0x270
jb 0x7ff720f55351
movaps xmm0, xmmword [0x7ff720f63710]
mov edx, 0x270
movsd xmm1, qword [0x7ff720f634d0]
mov ebx, 0xa
movsd xmm3, qword [0x7ff720f63568]
xorps xmm2, xmm2
movsd qword [rsp + 0x50], xmm2
xorps xmm6, xmm6
mov dword [rsp + 0x60], edx
mov eax, edx
lea r10d, [rbx - 8]
mov byte [rsp + 0x48], 0
movups xmmword [rsp + 0x38], xmm0
mov r8d, edx
cmp r8d, 0x270
jne 0x7ff720f55412
lea r8, [rsp + 0x68]
mov r9d, 0x270
nop dword [rax + rax]
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, edx
xor ecx, dword [r8 + 0x62c]
mov dword [r8 + 0x9b8], ecx
sub r9, 1
jne 0x7ff720f553d0
mov edx, dword [rsp + 0x60]
jmp 0x7ff720f55508
cmp eax, 0x4e0
jb 0x7ff720f55508
xor r8d, r8d
lea r9, [rbp + 0x924]
lea r11, [rbp + 0xf58]
lea rdi, [rsp + 0x64]
nop dword [rax]
nop word [rax + rax]
mov edx, dword [r9 + r8*4]
xor edx, dword [rbp + r8*4 + 0x928]
btr edx, 0x1f
xor edx, dword [r9 + r8*4]
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [r11 + r8*4]
xor ecx, edx
mov dword [rdi + r8*4], ecx
inc r8
cmp r8, 0xe3
jb 0x7ff720f55440
mov r8d, 0xe3
lea r9, [rbp + 0x928]
lea r11, [rsp + 0x64]
nop dword [rax]
mov eax, dword [rbp + r8*4 + 0x924]
mov edx, eax
xor edx, dword [r9 + r8*4]
btr edx, 0x1f
xor edx, eax
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [rbp + r8*4 - 0x428]
xor ecx, edx
mov dword [r11 + r8*4], ecx
inc r8
cmp r8, 0x26f
jb 0x7ff720f55490
mov edx, dword [rbp + 0x12e0]
mov eax, dword [rsp + 0x64]
and edx, 0x80000000
btr eax, 0x1f
or edx, eax
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, edx
xor ecx, dword [rbp + 0x594]
xor edx, edx
mov dword [rbp + 0x920], ecx
mov dword [rsp + 0x60], edx
mov eax, edx
xorps xmm0, xmm0
inc edx
mov r8d, edx
mov ecx, dword [rsp + rax*4 + 0x64]
mov eax, ecx
shr eax, 0xb
and eax, dword [rbp + 0x12e4]
xor ecx, eax
mov dword [rsp + 0x60], 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
mov eax, edx
subsd xmm0, xmm2
mulsd xmm0, xmm1
mulsd xmm1, xmm3
addsd xmm6, xmm0
sub r10, 1
jne 0x7ff720f553b4
mov rdi, qword [rsp + 0x1428]
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x38]
divsd xmm6, xmm1
call fcn.7ff720f55dd0
lea rax, [rsp + 0x30]
lea rcx, [rsp + 0x28]
movaps xmm1, xmm0
addsd xmm6, xmm6
mulsd xmm1, qword [0x7ff720f634c0]
movsd xmm0, qword [0x7ff720f63510]
movsd qword [rsp + 0x28], xmm0
subsd xmm6, qword [0x7ff720f634d0]
mulsd xmm6, qword [0x7ff720f634c8]
addsd xmm1, xmm6
movaps xmm6, xmmword [rsp + 0x1400]
addsd xmm1, qword [0x7ff720f63508]
comisd xmm0, xmm1
movsd xmm0, qword [0x7ff720f634e8]
movsd qword [rsp + 0x30], xmm1
cmovbe rax, rcx
movsd xmm3, qword [rax]
maxsd xmm3, qword [0x7ff720f634f8]
movaps xmm1, xmm3
subsd xmm1, qword [0x7ff720f63508]
andps xmm1, xmmword [0x7ff720f63730]
comisd xmm0, xmm1
jb 0x7ff720f5560b
cvttsd2si ebx, xmm3
movsxd rax, ebx
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x20], rax
call fcn.7ff720f24170
mov rbx, qword [rsp + 0x1420]
jmp 0x7ff720f5563a
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x20], 3
call fcn.7ff720f24170
cmp byte [0x7ff720f7dd98], 0
jne 0x7ff720f5565e
call qword [sym.imp.USER32.dll_GetForegroundWindow]
xor r9d, r9d
mov edx, 0x202
mov rcx, rax
lea r8d, [r9 + 2]
call qword [sym.imp.USER32.dll_PostMessageA]
mov rcx, qword [rbp + 0x12f0]
xor rcx, rsp
call fcn.7ff720f5c1d0
add rsp, 0x1410
pop rbp
ret