Function at 0x1401a4870
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rdi
push r13
push r14
push r15
lea rbp, [rsp - 0x1368]
mov eax, 0x1468
call fcn.1403cb200
sub rsp, rax
xor eax, eax
mov dword [rsp + 0x20], 0x300030
xor r15d, r15d
mov dword [rsp + 0x24], 0x300030
mov ecx, r15d
mov dword [rsp + 0x28], 0x300030
mov rdi, rdx
mov dword [rsp + 0x2c], 0x300030
mov dword [rsp + 0x30], 0x300030
mov dword [rsp + 0x34], 0x49004b
mov dword [rsp + 0x38], 0x49004f
mov dword [rsp + 0x3c], 0x49004b
mov dword [rsp + 0x40], 0x590057
mov dword [rsp + 0x44], 0x59005b
mov dword [rsp + 0x48], 0x59005f
mov dword [rsp + 0x4c], 0x59005b
mov dword [rsp + 0x50], 0x490057
mov dword [rsp + 0x54], 0x49004b
mov dword [rsp + 0x58], 0x49004f
mov dword [rsp + 0x5c], 0x49004b
mov dword [rsp + 0x60], 0x790077
mov dword [rsp + 0x64], 0x79007b
mov dword [rsp + 0x68], 0x470045
mov dword [rsp + 0x6c], 0x430045
mov dword [rsp + 0x70], 0x4f004d
mov dword [rsp + 0x74], 0x43004d
mov dword [rsp + 0x78], 0x470045
mov dword [rsp + 0x7c], 0x430045
mov dword [rbp - 0x80], 0x5f005d
mov dword [rbp - 0x7c], 0x43005d
mov dword [rbp - 0x78], 0x470045
mov dword [rbp - 0x74], 0x430045
mov dword [rbp - 0x70], 0x4f004d
mov dword [rbp - 0x6c], 0x43004d
mov dword [rbp - 0x68], 0x470045
mov word [rbp - 0x64], ax
nop dword [rax + rax]
movsxd rax, ecx
xor word [rsp + rax*2 + 0x20], cx
inc ecx
cmp ecx, 0x3e
jb 0x1401a49a0
movdqa xmm0, xmmword [0x1404cec10]
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x60]
mov word [rbp - 0x64], r15w
movdqu xmmword [rbp - 0x50], xmm0
mov qword [rbp - 0x60], r15
call fcn.14013edcc
call fcn.1403c96fc
mov r8d, 0xffffffff
mov dword [rbp - 0x2c], eax
mov r13d, 1
mov dword [rbp + 0x1354], r8d
mov edx, r13d
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, edx
mov dword [rbp + rdx*4 - 0x2c], eax
inc rdx
cmp rdx, 0x270
jb 0x1401a49f1
mov r10, qword [rbp - 0x48]
lea rax, [rbp - 0x60]
mov r9, qword [rbp - 0x60]
mov rcx, qword [rbp - 0x50]
mov dword [rbp - 0x30], 0x270
cmp r10, 8
jb 0x1401a4a36
mov r11, r9
lea rbx, [r9 + rcx*2]
jmp 0x1401a4a3e
lea rbx, [rax + rcx*2]
lea r11, [rbp - 0x60]
mov qword [rbp - 0x40], r11
mov eax, 0x40
mov qword [rbp + 0x13b8], rbx
mov r14, 0xffffffffffffffff
dec rax
shr r14, 1
cmp r14, r8
ja 0x1401a4a55
mov qword [rbp - 0x38], rax
cmp r11, rbx
je 0x1401a4b73
lea rax, [r11 + 2]
mov qword [rbp + 0x13a0], rax
cmp rax, rbx
je 0x1401a4b73
mov qword [rsp + 0x14b0], rsi
mov qword [rsp + 0x1460], r12
mov rbx, qword [rbp - 0x38]
lea r12, [r13 + 1]
nop dword [rax]
mov rsi, r15
mov rdi, r15
test r13, r13
je 0x1401a4ae8
nop dword [rax + rax]
lea rcx, [rbx - 1]
shl rsi, cl
add rsi, rsi
nop word [rax + rax]
lea rcx, [rbp - 0x30]
call fcn.1401a7290
mov eax, eax
cmp rax, r14
ja 0x1401a4ac0
lea rcx, [rbx - 1]
or rsi, rax
shl rdi, cl
add rdi, rdi
or rdi, r14
cmp rdi, r13
jb 0x1401a4ab0
xor r15d, r15d
xor edx, edx
mov rax, rdi
div r12
mov rcx, rax
mov r8, rdx
xor edx, edx
mov rax, rsi
div r12
cmp rax, rcx
jb 0x1401a4b08
cmp r8, r13
jne 0x1401a4aa0
mov rbx, qword [rbp + 0x13b8]
xor edx, edx
mov r8, qword [rbp + 0x13a0]
mov rax, rsi
div r12
cmp rdx, r13
je 0x1401a4b39
mov r11, qword [rbp - 0x40]
movzx ecx, word [r8]
movzx eax, word [r11 + rdx*2]
mov word [r8], ax
mov word [r11 + rdx*2], cx
add r8, 2
mov r13, r12
mov qword [rbp + 0x13a0], r8
cmp r8, rbx
jne 0x1401a4a91
mov r10, qword [rbp - 0x48]
mov rcx, qword [rbp - 0x50]
mov r9, qword [rbp - 0x60]
mov rdi, qword [rbp + 0x13a8]
mov r12, qword [rsp + 0x1460]
mov rsi, qword [rsp + 0x14b0]
mov r8d, 6
mov qword [rdi], r15
cmp rcx, r8
mov qword [rdi + 0x10], r15
lea rdx, [rbp - 0x60]
mov qword [rdi + 0x18], 7
cmovb r8, rcx
cmp r10, 8
mov rcx, rdi
cmovae rdx, r9
call fcn.14013ee4c
lea rcx, [rbp - 0x60]
call fcn.14013ed68
mov rax, rdi
add rsp, 0x1468
pop r15
pop r14
pop r13
pop rdi
pop rbx
pop rbp
ret