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

Disassembly:
push rbp
push rbx
push rsi
lea rbp, [rsp - 0x1310]
mov eax, 0x1410
call fcn.14007f210
sub rsp, rax
mov rax, qword [0x140098028]
xor rax, rsp
mov qword [rbp + 0x12c0], rax
mov rsi, rcx
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov dword [rbp + 0x12b4], 0xffffffff
mov edx, 1
mov dword [rsp + 0x34], eax
nop word [rax + rax]
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, edx
mov dword [rsp + rdx*4 + 0x34], eax
inc rdx
cmp rdx, 0x270
jb 0x1400072a0
cmp dword [rsi + 0x28], 0
mov ebx, 0x270
mov dword [rsp + 0x30], ebx
jne 0x140007618
mov qword [rsp + 0x1440], r12
movabs r12, 0x7ffffffffff0bdbf
mov qword [rsp + 0x1408], r14
movabs r14, 0x7fffffffffffffff
mov qword [rsp + 0x1400], r15
movabs r15, 0x7fffffffff67697f
movaps xmmword [rsp + 0x13f0], xmm6
xorps xmm6, xmm6
movaps xmmword [rsp + 0x13e0], xmm7
movsd xmm7, qword [0x14008cff0]
movaps xmmword [rsp + 0x13d0], xmm8
movsd xmm8, qword [0x14008cf80]
mov qword [rsp + 0x1438], rdi
nop dword [rax]
cmp byte [rsi + 0x15], 0
je 0x1400075df
cmp byte [rsi + 0x7c], 0
je 0x1400075df
mov r11d, dword [rsi + 0x84]
mov edi, dword [rsi + 0x80]
cmp r11d, edi
jne 0x1400073bf
mov dword [rsi + 0x70], r11d
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rdi, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rdi, 0x989680
jne 0x140007388
imul rax, rax, 0x64
jmp 0x1400073a6
cqo
idiv rdi
mov rcx, rax
imul rax, rdx, 0x3b9aca00
imul rcx, rcx, 0x3b9aca00
cqo
idiv rdi
add rax, rcx
cmp rax, r15
jge 0x1400075c6
add rax, 0x989680
mov qword [rsp + 0x20], rax
jmp 0x1400075cb
movaps xmm1, xmm6
movaps xmm2, xmm8
mov r10d, 2
nop dword [rax]
cmp ebx, 0x270
jne 0x140007422
lea r8, [rsp + 0x38]
mov r9d, ebx
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 0x1400073e0
mov ebx, dword [rsp + 0x30]
jmp 0x1400074fd
cmp ebx, 0x4e0
jb 0x1400074fd
xor r8d, r8d
mov eax, dword [rbp + r8*4 + 0x8f4]
mov edx, eax
xor edx, dword [rbp + r8*4 + 0x8f8]
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 + 0xf28]
xor ecx, edx
mov dword [rsp + r8*4 + 0x34], ecx
inc r8
cmp r8, 0xe3
jb 0x140007431
mov r8d, 0xe3
nop word [rax + rax]
mov eax, dword [rbp + r8*4 + 0x8f4]
mov edx, eax
xor edx, dword [rbp + r8*4 + 0x8f8]
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 - 0x458]
xor ecx, edx
mov dword [rsp + r8*4 + 0x34], ecx
inc r8
cmp r8, 0x26f
jb 0x140007480
mov edx, dword [rbp + 0x12b0]
mov eax, dword [rsp + 0x34]
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 + 0x564]
xor ebx, ebx
mov dword [rbp + 0x8f0], ecx
mov dword [rsp + 0x30], ebx
mov eax, ebx
xorps xmm0, xmm0
inc ebx
mov ecx, dword [rsp + rax*4 + 0x34]
mov eax, ecx
shr eax, 0xb
and eax, dword [rbp + 0x12b4]
xor ecx, eax
mov dword [rsp + 0x30], ebx
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, xmm6
mulsd xmm0, xmm2
mulsd xmm2, xmm7
addsd xmm1, xmm0
sub r10, 1
jne 0x1400073d0
divsd xmm1, xmm2
sub edi, r11d
movd xmm0, edi
cvtdq2pd xmm0, xmm0
addsd xmm1, xmm6
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
add eax, r11d
mov dword [rsi + 0x40], eax
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rdi, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rdi, 0x989680
jne 0x140007596
imul rax, rax, 0x64
jmp 0x1400075b4
cqo
idiv rdi
mov rcx, rax
imul rax, rdx, 0x3b9aca00
imul rcx, rcx, 0x3b9aca00
cqo
idiv rdi
add rax, rcx
cmp rax, r12
jge 0x1400075c6
add rax, 0xf4240
mov qword [rsp + 0x20], rax
jmp 0x1400075cb
mov qword [rsp + 0x20], r14
lea rcx, [rsp + 0x20]
call fcn.140009a00
cmp dword [rsi + 0x28], 0
je 0x140007340
mov rdi, qword [rsp + 0x1438]
movaps xmm6, xmmword [rsp + 0x13f0]
mov r15, qword [rsp + 0x1400]
mov r14, qword [rsp + 0x1408]
mov r12, qword [rsp + 0x1440]
movaps xmm7, xmmword [rsp + 0x13e0]
movaps xmm8, xmmword [rsp + 0x13d0]
mov rcx, qword [rbp + 0x12c0]
xor rcx, rsp
call fcn.14007e140
add rsp, 0x1410
pop rsi
pop rbx
pop rbp
ret