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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r14
push r15
lea rbp, [rsp - 0x1460]
mov eax, 0x1560
call fcn.140085410
sub rsp, rax
mov rax, qword [0x1400ec780]
xor rax, rsp
mov qword [rbp + 0x1450], rax
mov r15, rcx
mov qword [rsp + 0x48], rcx
xor ebx, ebx
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x70], xmm0
mov qword [rbp + 0x80], rax
movups xmmword [rsp + 0x50], xmm0
xorps xmm1, xmm1
movdqa xmmword [rsp + 0x60], xmm1
lea r8d, [rbx + 4]
lea rdx, str.Bear
lea rcx, [rsp + 0x50]
call fcn.140016890
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp - 0x80], xmm1
lea r8d, [rbx + 4]
lea rdx, str.Head
lea rcx, [rsp + 0x70]
call fcn.140016890
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp - 0x60], xmm1
lea r8d, [rbx + 4]
lea rdx, str.Goat
lea rcx, [rbp - 0x70]
call fcn.140016890
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp - 0x40], xmm1
lea r8d, [rbx + 8]
lea rdx, str.Brownies
lea rcx, [rbp - 0x50]
call fcn.140016890
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x30], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp - 0x20], xmm1
lea r8d, [rbx + 8]
lea rdx, str.Windowed
lea rcx, [rbp - 0x30]
call fcn.140016890
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x10], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp], xmm1
lea r8d, [rbx + 6]
lea rdx, str.Widows
lea rcx, [rbp - 0x10]
call fcn.140016890
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x10], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0x20], xmm1
lea r8d, [rbx + 6]
lea rdx, str.Spider
lea rcx, [rbp + 0x10]
call fcn.140016890
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x30], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0x40], xmm1
lea r8d, [rbx + 8]
lea rdx, str.Whittler
lea rcx, [rbp + 0x30]
call fcn.140016890
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x50], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0x60], xmm1
lea r8d, [rbx + 8]
lea rdx, str.Original
lea rcx, [rbp + 0x50]
call fcn.140016890
nop
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x70], xmm0
mov qword [rbp + 0x80], rbx
mov ecx, pe_nt_image_headers64
call fcn.140084d88
mov rbx, rax
mov qword [rbp + 0x70], rax
mov qword [rbp + 0x78], rax
add rax, 0x120
mov qword [rbp + 0x80], rax
lea rax, [rbp + 0x70]
mov qword [rsp + 0x48], rax
lea rdi, [rsp + 0x50]
xorps xmm0, xmm0
movups xmmword [rbp + 0x88], xmm0
mov qword [rbp + 0x88], rbx
mov qword [rbp + 0x90], rbx
lea rax, [rbp + 0x70]
mov qword [rbp + 0x98], rax
nop dword [rax]
mov rdx, rdi
mov rcx, rbx
call fcn.140013610
add rbx, 0x20
mov qword [rbp + 0x90], rbx
add rdi, 0x20
lea rax, [rbp + 0x70]
cmp rdi, rax
jne 0x140010dc0
mov rdx, rbx
mov rcx, rbx
call fcn.140016e10
mov qword [rbp + 0x78], rbx
lea r9, [fcn.140005f90]
mov edx, 0x20
lea r8d, [rdx - 0x17]
lea rcx, [rsp + 0x50]
call fcn.140084dc4
call fcn.140083e78
mov edx, eax
mov dword [rbp + 0x1444], 0xffffffff
mov dword [rbp + 0xc4], eax
mov ecx, 1
mov r9d, 0x270
nop
mov eax, edx
shr eax, 0x1e
xor eax, edx
imul edx, eax, 0x6c078965
add edx, ecx
mov dword [rbp + rcx*4 + 0xc4], edx
inc rcx
cmp rcx, r9
jb 0x140010e30
mov dword [rbp + 0xc0], r9d
mov rdi, qword [rbp + 0x78]
mov r14, qword [rbp + 0x70]
sub rdi, r14
sar rdi, 5
dec edi
cmp edi, 0x80000000
jb 0x140010f16
cmp edi, 0xffffffff
jne 0x140010f16
lea r8, [rbp + 0xc8]
nop dword [rax]
nop word [rax + rax]
mov edx, dword [r8 - 4]
xor edx, dword [r8]
btr edx, 0x1f
xor edx, dword [r8 - 4]
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
and ecx, 0x9908b0df
xor ecx, dword [r8 + 0x630]
shr edx, 1
xor ecx, edx
mov dword [r8 + 0x9bc], ecx
lea r8, [r8 + 4]
sub r9, 1
jne 0x140010e90
mov ecx, dword [rbp + 0xc0]
mov edx, dword [rbp + rcx*4 + 0xc4]
inc ecx
mov dword [rbp + 0xc0], ecx
mov eax, edx
shr eax, 0xb
and eax, dword [rbp + 0x1444]
xor edx, eax
mov eax, edx
and eax, 0xff3a58ad
shl eax, 7
xor edx, eax
mov eax, edx
and eax, 0xffffdf8c
shl eax, 0xf
xor edx, eax
mov eax, edx
shr eax, 0x12
xor eax, edx
movsxd rbx, eax
shl rbx, 5
add rbx, r14
jmp 0x140010f6c
lea ebx, [rdi + 1]
lea rcx, [rbp + 0xc0]
call fcn.14001a670
mov esi, ebx
mov ecx, eax
imul rcx, rsi
cmp ecx, ebx
jae 0x140010f56
mov eax, ebx
neg eax
xor edx, edx
div ebx
mov ebx, edx
cmp ecx, edx
jae 0x140010f56
nop
lea rcx, [rbp + 0xc0]
call fcn.14001a670
mov ecx, eax
imul rcx, rsi
cmp ecx, ebx
jb 0x140010f40
shr rcx, 0x20
movsxd rbx, ecx
shl rbx, 5
add rbx, r14
cmp edi, 0x80000000
jb 0x140010f81
cmp edi, 0xffffffff
jne 0x140010f81
lea rcx, [rbp + 0xc0]
call fcn.14001a670
mov ecx, eax
jmp 0x140010fca
inc edi
lea rcx, [rbp + 0xc0]
call fcn.14001a670
mov esi, edi
mov ecx, eax
imul rcx, rsi
cmp ecx, edi
jae 0x140010fc6
mov eax, edi
neg eax
xor edx, edx
div edi
mov edi, edx
cmp ecx, edx
jae 0x140010fc6
nop dword [rax]
lea rcx, [rbp + 0xc0]
call fcn.14001a670
mov ecx, eax
imul rcx, rsi
cmp ecx, edi
jb 0x140010fb0
shr rcx, 0x20
movsxd r9, ecx
shl r9, 5
add r9, r14
mov rcx, qword [r9 + 0x10]
mov rdx, qword [rbx + 0x10]
movabs rdi, 0x7ffffffffffffffe
mov rax, rdi
sub rax, rcx
cmp rax, rdx
jb 0x140011139
cmp qword [r9 + 0x18], 7
jbe 0x140010fff
mov r9, qword [r9]
cmp qword [rbx + 0x18], 7
jbe 0x140011009
mov rbx, qword [rbx]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rcx
lea rcx, [rbp + 0xa0]
call fcn.1400183e0
nop
mov rax, qword [rbp + 0xb0]
sub rdi, rax
cmp rdi, 4
jb 0x14001113f
lea r9, [rbp + 0xa0]
cmp qword [rbp + 0xb8], 7
cmova r9, qword [rbp + 0xa0]
mov qword [rsp + 0x30], 4
lea rcx, str..exe
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
mov rcx, r15
call fcn.1400183e0
nop
mov rdx, qword [rbp + 0xb8]
cmp rdx, 7
jbe 0x1400110ba
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0xa0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400110b4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140011145
call fcn.140084d80
nop
mov rcx, qword [rbp + 0x70]
test rcx, rcx
je 0x140011104
mov rdx, qword [rbp + 0x78]
call fcn.140016e10
mov rdx, qword [rbp + 0x80]
mov rcx, qword [rbp + 0x70]
sub rdx, rcx
and rdx, 0xffffffffffffffe0
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400110ff
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140011133
call fcn.140084d80
mov rax, r15
mov rcx, qword [rbp + 0x1450]
xor rcx, rsp
call fcn.140084d60
lea r11, [rsp + 0x1560]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
call fcn.14008e520
nop
call fcn.140001c40
nop
call fcn.140001c40
nop
call fcn.14008e520
int3