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

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x1360]
mov eax, 0x1460
call fcn.14004e9c0
sub rsp, rax
mov rax, qword [0x1400a3080]
xor rax, rsp
mov qword [rbp + 0x1350], rax
mov byte [rsp + 0x20], 0
xor edi, edi
mov byte [rsp + 0x21], 0x24
mov ebx, edx
mov byte [rsp + 0x22], 0x71
mov byte [rsp + 0x23], 0x77
mov byte [rsp + 0x24], 0x71
mov byte [rsp + 0x25], 0x4b
mov byte [rsp + 0x26], 0x71
mov byte [rsp + 0x27], 0x1f
mov byte [rsp + 0x28], 0x71
mov byte [rsp + 0x29], 0x72
mov byte [rsp + 0x2a], 0x71
mov byte [rsp + 0x2b], 0x46
mov byte [rsp + 0x2c], 0x71
mov byte [rsp + 0x2d], 0x1a
mov byte [rsp + 0x2e], 0x71
mov byte [rsp + 0x2f], 0x6d
mov byte [rsp + 0x30], 0x71
mov byte [rsp + 0x31], 0x41
mov byte [rsp + 0x32], 0x71
mov byte [rsp + 0x33], 0x15
mov byte [rsp + 0x34], 0x71
mov byte [rsp + 0x35], 0x68
mov byte [rsp + 0x36], 0x71
mov byte [rsp + 0x37], 0x3c
mov byte [rsp + 0x38], 0x71
mov byte [rsp + 0x39], 0x10
mov byte [rsp + 0x3a], 0x71
mov byte [rsp + 0x3b], 0x63
mov byte [rsp + 0x3c], 0x71
mov byte [rsp + 0x3d], 0x37
mov byte [rsp + 0x3e], 0x71
mov byte [rsp + 0x3f], 0xb
mov byte [rsp + 0x40], 0x71
mov byte [rsp + 0x41], 0x5e
mov byte [rsp + 0x42], 0x71
mov byte [rsp + 0x43], 0x32
mov byte [rsp + 0x44], 0x71
mov byte [rsp + 0x45], 6
mov byte [rsp + 0x46], 0x71
mov byte [rsp + 0x47], 0x59
mov byte [rsp + 0x48], 0x71
mov byte [rsp + 0x49], 0x2d
mov byte [rsp + 0x4a], 0x71
mov byte [rsp + 0x4b], 1
mov byte [rsp + 0x4c], 0x71
mov byte [rsp + 0x4d], 0x54
mov byte [rsp + 0x4e], 0x71
mov byte [rsp + 0x4f], 0x28
mov byte [rsp + 0x50], 0x71
mov byte [rsp + 0x51], 0x7b
mov byte [rsp + 0x52], 0x71
mov byte [rsp + 0x53], 0x4f
mov byte [rsp + 0x54], 0x71
mov byte [rsp + 0x55], 0x21
mov byte [rsp + 0x56], 0x71
mov byte [rsp + 0x57], 0x74
mov byte [rsp + 0x58], 0x71
mov byte [rsp + 0x59], 0x48
mov byte [rsp + 0x5a], 0x71
mov byte [rsp + 0x5b], 0x1c
mov byte [rsp + 0x5c], 0x71
mov byte [rsp + 0x5d], 0x6f
mov byte [rsp + 0x5e], 0x71
mov byte [rsp + 0x5f], 0x43
mov byte [rsp + 0x60], 0x71
mov byte [rsp + 0x61], 0x17
mov byte [rsp + 0x62], 0x71
mov byte [rsp + 0x63], 0x6a
mov byte [rsp + 0x64], 0x71
mov byte [rsp + 0x65], 0x3e
mov byte [rsp + 0x66], 0x71
mov byte [rsp + 0x67], 0x12
mov byte [rsp + 0x68], 0x71
mov byte [rsp + 0x69], 0x71
mov byte [rsp + 0x6a], 0x71
movzx eax, byte [rsp + 0x21]
movzx eax, byte [rsp + 0x20]
test al, al
mov qword [rsp + 0x70], rcx
jne 0x140018c01
mov r8d, edi
nop dword [rax]
movzx ecx, byte [rsp + r8 + 0x21]
mov eax, 0x71
sub eax, ecx
imul ecx, eax, 0x1a
mov eax, 0x81020409
imul ecx
add edx, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x7f
sub ecx, eax
mov eax, 0x81020409
add ecx, 0x7f
imul ecx
add edx, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x7f
sub ecx, eax
mov byte [rsp + r8 + 0x21], cl
inc r8
cmp r8, 0x4a
jb 0x140018bb0
xorps xmm0, xmm0
mov qword [rbp - 0x70], rdi
movups xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x68], rdi
lea rax, [rsp + 0x21]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp word [rax + r8*2], di
jne 0x140018c20
lea rdx, [rsp + 0x21]
lea rcx, [rbp - 0x80]
call fcn.140013c40
xorps xmm0, xmm0
mov qword [rbp - 0x50], rdi
movups xmmword [rbp - 0x60], xmm0
mov word [rbp - 0x60], di
mov ecx, 1
mov qword [rbp - 0x48], 7
mov dword [rbp + 0x1344], 0xffffffff
mov dword [rbp - 0x3c], ebx
mov eax, ebx
shr eax, 0x1e
xor eax, ebx
imul ebx, eax, 0x6c078965
add ebx, ecx
mov dword [rbp + rcx*4 - 0x3c], ebx
inc rcx
cmp rcx, 0x270
jb 0x140018c61
mov esi, dword [rbp - 0x70]
mov ebx, 0x270
mov r14, qword [rbp - 0x80]
dec esi
mov r15, qword [rbp - 0x68]
mov r12d, 5
mov dword [rbp - 0x40], ebx
nop dword [rax + rax]
cmp esi, 0xffffffff
jne 0x140018e17
cmp ebx, 0x270
jne 0x140018d01
lea r8, [rbp - 0x38]
mov r9d, ebx
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 0x140018cc0
mov ebx, dword [rbp - 0x40]
jmp 0x140018ddb
cmp ebx, 0x4e0
jb 0x140018ddb
mov r8, rdi
mov eax, dword [rbp + r8*4 + 0x984]
mov edx, eax
xor edx, dword [rbp + r8*4 + 0x988]
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 + 0xfb8]
xor ecx, edx
mov dword [rbp + r8*4 - 0x3c], ecx
inc r8
cmp r8, 0xe3
jb 0x140018d10
mov r8d, 0xe3
nop dword [rax]
mov eax, dword [rbp + r8*4 + 0x984]
mov edx, eax
xor edx, dword [rbp + r8*4 + 0x988]
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 - 0x3c8]
xor ecx, edx
mov dword [rbp + r8*4 - 0x3c], ecx
inc r8
cmp r8, 0x26f
jb 0x140018d60
mov edx, dword [rbp + 0x1340]
mov ebx, edi
mov eax, dword [rbp - 0x3c]
and edx, 0x80000000
btr eax, 0x1f
mov dword [rbp - 0x40], ebx
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 + 0x5f4]
mov dword [rbp + 0x980], ecx
mov eax, ebx
inc ebx
mov ecx, dword [rbp + rax*4 - 0x3c]
mov eax, ecx
shr eax, 0xb
and eax, dword [rbp + 0x1344]
xor ecx, eax
mov dword [rbp - 0x40], 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 r8d, ecx
shr r8d, 0x12
xor r8d, ecx
jmp 0x140018e5e
lea rcx, [rbp - 0x40]
lea ebx, [rsi + 1]
call fcn.140019780
mov r8d, eax
mov edi, ebx
imul r8, rdi
cmp r8d, ebx
jae 0x140018e55
mov eax, ebx
xor edx, edx
neg eax
div ebx
mov ebx, edx
cmp r8d, edx
jae 0x140018e55
lea rcx, [rbp - 0x40]
call fcn.140019780
mov r8d, eax
imul r8, rdi
cmp r8d, ebx
jb 0x140018e40
mov ebx, dword [rbp - 0x40]
shr r8, 0x20
xor edi, edi
movsxd rdx, r8d
lea rax, [rbp - 0x80]
cmp r15, 7
lea rcx, [rbp - 0x60]
cmova rax, r14
movzx edx, word [rax + rdx*2]
call fcn.140019620
sub r12, 1
jne 0x140018ca0
mov r14, qword [rbp - 0x50]
movabs rbx, 0x7ffffffffffffffe
mov rax, rbx
sub rax, r14
cmp rax, 1
jb 0x140018ff7
mov rcx, qword [rsp + 0x70]
lea r15, [r14 + 1]
mov r12, qword [rbp - 0x48]
xorps xmm0, xmm0
mov rdi, qword [rbp - 0x60]
cmp r12, 7
mov qword [rsp + 0x1498], r13
mov rsi, rcx
movups xmmword [rcx], xmm0
lea r13, [rbp - 0x60]
cmova r13, rdi
xor eax, eax
mov qword [rcx + 0x10], rax
mov qword [rcx + 0x18], rax
cmp r15, 7
jbe 0x140018f1d
mov rax, r15
or rax, 7
cmp rax, rbx
ja 0x140018efb
mov edx, 0xa
mov rbx, rax
cmp rax, rdx
cmovb rbx, rdx
inc rbx
lea rdx, [rsp + 0x78]
mov qword [rsp + 0x78], rbx
call fcn.140013e70
mov rcx, qword [rsp + 0x70]
mov rsi, rax
dec rbx
mov qword [rcx], rax
jmp 0x140018f22
mov ebx, 7
mov qword [rcx + 0x10], r15
lea r8, [r14 + r14]
mov qword [rcx + 0x18], rbx
mov rdx, r13
lea rcx, [rsi + 2]
mov word [rsi], 0x2e
call fcn.140079cc0
mov r13, qword [rsp + 0x1498]
xor eax, eax
mov word [rsi + r15*2], ax
cmp r12, 7
jbe 0x140018f85
lea rdx, [r12*2 + 2]
mov rax, rdi
cmp rdx, 0x1000
jb 0x140018f7d
mov rdi, qword [rdi - 8]
add rdx, 0x27
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140018ff1
mov rcx, rdi
call fcn.14004e604
mov rax, qword [rbp - 0x68]
cmp rax, 7
jbe 0x140018fc1
mov rcx, qword [rbp - 0x80]
lea rdx, [rax*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140018fbc
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140018ff1
call fcn.14004e604
mov rax, qword [rsp + 0x70]
mov rcx, qword [rbp + 0x1350]
xor rcx, rsp
call fcn.14004dfe0
lea r11, [rsp + 0x1460]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret
call fcn.140054e14
int3
call fcn.1400052f0
int3