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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
mov eax, 0x13e0
call fcn.140025d20
sub rsp, rax
mov rax, qword [0x140065040]
xor rax, rsp
mov qword [rsp + 0x13d0], rax
mov rbp, rdx
lea rdx, str.Ask_the_Audience_results:
lea rcx, [0x140066540]
call fcn.140006cb0
mov rcx, rax
call fcn.140006f60
call fcn.140024c3c
mov dword [rsp + 0x13c4], 0xffffffff
mov dword [rsp + 0x44], eax
mov edx, 1
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 + 0x44], eax
inc rdx
cmp rdx, 0x270
jb 0x140004300
mov dword [rsp + 0x40], 0x270
mov edi, 0x64
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x20], xmm1
xor esi, esi
mov qword [rsp + 0x30], rsi
mov ecx, 0x10
call fcn.140025618
mov qword [rsp + 0x20], rax
lea rcx, [rax + 0x10]
mov qword [rsp + 0x30], rcx
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov qword [rsp + 0x28], rcx
mov ebx, esi
lea rcx, [rsp + 0x40]
call fcn.140009d60
mov ecx, eax
cmp esi, dword [rbp + 0x38]
jne 0x1400043b7
imul rcx, rcx, 0x65
cmp ecx, 0x43
ja 0x140004395
nop dword [rax + rax]
lea rcx, [rsp + 0x40]
call fcn.140009d60
mov ecx, eax
imul rcx, rcx, 0x65
cmp ecx, 0x44
jb 0x140004380
shr rcx, 0x20
mov eax, edi
cdq
sub eax, edx
sar eax, 1
mov r8d, eax
lea eax, [rcx - 0x80000000]
xor eax, 0x80000000
cdq
idiv r8d
add edx, r8d
jmp 0x140004401
imul r9, rcx, 0x65
cmp r9d, 0x43
ja 0x1400043d7
lea rcx, [rsp + 0x40]
call fcn.140009d60
mov ecx, eax
imul r9, rcx, 0x65
cmp r9d, 0x44
jb 0x1400043c1
shr r9, 0x20
add r9d, 0x80000000
xor r9d, 0x80000000
mov eax, 0x55555556
imul edi
mov r8d, edx
shr r8d, 0x1f
add r8d, edx
mov eax, r9d
cdq
idiv r8d
mov rax, qword [rsp + 0x20]
mov dword [rbx + rax], edx
sub edi, edx
inc esi
add rbx, 4
cmp rbx, 0xc
jl 0x140004361
mov rax, qword [rsp + 0x20]
mov dword [rax + 0xc], edi
mov dl, 0x41
lea rcx, [0x140066540]
call fcn.140006ff0
mov rcx, rax
lea rdx, [0x14005a310]
call fcn.140006cb0
mov rcx, qword [rsp + 0x20]
mov edx, dword [rcx]
mov rcx, rax
call fcn.140004930
mov rcx, rax
lea rdx, [0x14005aa4c]
call fcn.140006cb0
mov rcx, rax
call fcn.140006f60
mov dl, 0x42
lea rcx, [0x140066540]
call fcn.140006ff0
mov rcx, rax
lea rdx, [0x14005a310]
call fcn.140006cb0
mov rcx, qword [rsp + 0x20]
mov edx, dword [rcx + 4]
mov rcx, rax
call fcn.140004930
mov rcx, rax
lea rdx, [0x14005aa4c]
call fcn.140006cb0
mov rcx, rax
call fcn.140006f60
mov dl, 0x43
lea rcx, [0x140066540]
call fcn.140006ff0
mov rcx, rax
lea rdx, [0x14005a310]
call fcn.140006cb0
mov r8, qword [rsp + 0x20]
mov edx, dword [r8 + 8]
mov rcx, rax
call fcn.140004930
mov rcx, rax
lea rdx, [0x14005aa4c]
call fcn.140006cb0
mov rcx, rax
call fcn.140006f60
mov dl, 0x44
lea rcx, [0x140066540]
call fcn.140006ff0
mov rcx, rax
lea rdx, [0x14005a310]
call fcn.140006cb0
mov rcx, qword [rsp + 0x20]
mov edx, dword [rcx + 0xc]
mov rcx, rax
call fcn.140004930
mov rcx, rax
lea rdx, [0x14005aa4c]
call fcn.140006cb0
mov rcx, rax
call fcn.140006f60
nop
mov rcx, qword [rsp + 0x20]
test rcx, rcx
je 0x140004570
mov rdx, qword [rsp + 0x30]
sub rdx, rcx
and rdx, 0xfffffffffffffffc
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000456b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004599
call fcn.140025610
mov rcx, qword [rsp + 0x13d0]
xor rcx, rsp
call fcn.1400255f0
lea r11, [rsp + 0x13e0]
mov rbx, qword [r11 + 0x10]
mov rbp, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret
call fcn.14002dc78
int3