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

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1360]
mov eax, 0x1460
call fcn.14001db00
sub rsp, rax
mov rax, qword [0x14002d008]
xor rax, rsp
mov qword [rbp + 0x1350], rax
movsxd rbx, edx
mov rdi, rcx
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rcx
movabs rax, 0x38930438cca631ba
mov qword [rbp + 0x1310], rax
movabs rax, 0x18fcab033660a3cf
mov qword [rbp + 0x1318], rax
movabs rax, 0x5a8ef9ba3f91cc0c
mov qword [rbp + 0x1320], rax
movabs rax, 0x3912f79dbd138821
mov qword [rbp + 0x1328], rax
movabs rax, 0x32d05d8c785cb72e
mov qword [rbp + 0x1330], rax
movabs rax, 0x97d2fe77e55e8bc3
mov qword [rbp + 0x1338], rax
movabs rax, 0x4bf5ecdeff98b870
mov qword [rbp + 0x1340], rax
movabs rax, 0xa96b3d81a0116415
mov qword [rbp + 0x1348], rax
movabs rax, 0x70d4427d88e573fb
mov qword [rsp + 0x40], rax
movabs rax, 0x48b3e54e7a2be986
mov qword [rsp + 0x48], rax
movabs rax, 0x2d9afef6bc29e5d
mov qword [rsp + 0x50], rax
movabs rax, 0x5f7793fedf72d278
mov qword [rsp + 0x58], rax
movabs rax, 0x5cbd31e71235df49
mov qword [rsp + 0x60], rax
movabs rax, 0xe1a78a04972ffbac
mov qword [rsp + 0x68], rax
movabs rax, 0x7fc6deef85e1c007
mov qword [rsp + 0x70], rax
movabs rax, 0xa96b0db898265220
mov qword [rsp + 0x78], rax
movdqa xmm0, xmmword [rsp + 0x40]
pxor xmm0, xmmword [rbp + 0x1310]
movdqa xmmword [rsp + 0x40], xmm0
movdqa xmm1, xmmword [rsp + 0x50]
pxor xmm1, xmmword [rbp + 0x1320]
movdqa xmmword [rsp + 0x50], xmm1
movdqa xmm0, xmmword [rsp + 0x60]
pxor xmm0, xmmword [rbp + 0x1330]
movdqa xmmword [rsp + 0x60], xmm0
movdqa xmm1, xmmword [rsp + 0x70]
pxor xmm1, xmmword [rbp + 0x1340]
movdqa xmmword [rsp + 0x70], xmm1
mov qword [rbp + 0x1310], 0
mov qword [rbp + 0x1320], 0
mov qword [rbp + 0x1328], 0xf
mov byte [rbp + 0x1310], 0
lea rax, [rsp + 0x40]
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140005fb0
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x1310]
call fcn.1400039e0
nop
call fcn.14000889c
mov edx, eax
mov r14d, 0xffffffff
mov dword [rbp + 0x1304], r14d
mov dword [rbp - 0x7c], eax
mov ecx, 1
nop dword [rax + rax]
mov eax, edx
shr eax, 0x1e
xor eax, edx
imul edx, eax, 0x6c078965
add edx, ecx
mov dword [rbp + rcx*4 - 0x7c], edx
inc rcx
cmp rcx, 0x270
jb 0x140005ff0
mov dword [rbp - 0x80], 0x270
mov r15, qword [rbp + 0x1320]
dec r15
mov qword [rdi], 0
mov qword [rdi + 0x10], 0
mov qword [rdi + 0x18], 0xf
mov byte [rdi], 0
mov rdx, rbx
mov rcx, rdi
call fcn.140006dc0
cmp qword [rdi + 0x18], 0x10
jb 0x140006059
mov rcx, qword [rdi]
mov rdx, rcx
mov qword [rsp + 0x20], rcx
jmp 0x140006064
mov qword [rsp + 0x20], rdi
mov rdx, rdi
mov rcx, rdi
mov rax, qword [rdi + 0x10]
add rax, rdx
mov qword [rsp + 0x28], rax
mov r8, qword [rbp + 0x1310]
cmp rcx, rax
je 0x140006198
mov rsi, 0xffffffffffffffff
mov r13d, 0x40
nop dword [rax]
dec r13
shr rsi, 1
cmp rsi, r14
ja 0x140006090
cmp r15, 0xffffffffffffffff
jne 0x1400060de
xor ebx, ebx
xor edi, edi
nop word [rax + rax]
lea rcx, [r13 - 1]
shl rbx, cl
add rbx, rbx
nop word [rax + rax]
lea rcx, [rbp - 0x80]
call fcn.140007e90
mov eax, eax
cmp rax, rsi
ja 0x1400060c0
or rbx, rax
add rdi, r13
cmp rdi, 0x40
jb 0x1400060b0
jmp 0x140006150
lea r12, [r15 + 1]
xor edi, edi
xor ebx, ebx
test r15, r15
je 0x140006125
nop dword [rax + rax]
lea rcx, [r13 - 1]
shl rdi, cl
add rdi, rdi
nop word [rax + rax]
lea rcx, [rbp - 0x80]
call fcn.140007e90
mov eax, eax
cmp rax, rsi
ja 0x140006100
or rdi, rax
lea rcx, [r13 - 1]
shl rbx, cl
add rbx, rbx
or rbx, rsi
cmp rbx, r15
jb 0x1400060f0
xor edx, edx
mov rax, rbx
div r12
mov r8, rdx
mov rcx, rax
xor edx, edx
mov rax, rdi
div r12
cmp rax, rcx
jb 0x140006145
cmp r8, r15
jne 0x1400060e2
xor edx, edx
mov rax, rdi
div r12
mov rbx, rdx
lea rax, [rbp + 0x1310]
cmp qword [rbp + 0x1328], 0x10
cmovae rax, qword [rbp + 0x1310]
movzx eax, byte [rbx + rax]
mov r8, qword [rsp + 0x20]
mov byte [r8], al
inc r8
mov qword [rsp + 0x20], r8
cmp r8, qword [rsp + 0x28]
mov r14d, 0xffffffff
jne 0x140006080
mov rdi, qword [rsp + 0x30]
mov r8, qword [rbp + 0x1310]
mov rax, qword [rbp + 0x1328]
cmp rax, 0x10
jb 0x1400061d2
lea rdx, [rax + 1]
mov rax, r8
cmp rdx, 0x1000
jb 0x1400061ca
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400061ff
mov rcx, r8
call fcn.14000893c
mov rax, rdi
mov rcx, qword [rbp + 0x1350]
xor rcx, rsp
call fcn.1400088e0
mov rbx, qword [rsp + 0x14b0]
add rsp, 0x1460
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.14000ed84
int3