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

Disassembly:
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x1360]
mov eax, 0x1460
call fcn.18004b100
sub rsp, rax
mov qword [rsp + 0x48], 0xfffffffffffffffe
mov qword [rsp + 0x1498], rbx
mov qword [rsp + 0x14a0], rsi
mov rax, qword [0x180067008]
xor rax, rsp
mov qword [rbp + 0x1350], rax
mov r14, rcx
mov qword [rsp + 0x50], rcx
xor r12d, r12d
mov dword [rsp + 0x20], r12d
movdqa xmm0, xmmword [0x18005a100]
movdqu xmmword [rbp + 0x1310], xmm0
movdqa xmm1, xmmword [0x18005a0f0]
movdqu xmmword [rbp + 0x1320], xmm1
movdqa xmm0, xmmword [str.r:s9r_sr_s_rs_L4Q2p]
movdqu xmmword [rbp + 0x1330], xmm0
mov dword [rbp + 0x1340], 0x29732a72
mov dword [rbp + 0x1344], 0x291a2819
mov dword [rbp + 0x1348], 0x291e281d
mov word [rbp + 0x134c], 0x2811
mov byte [rbp + 0x134e], 0x28
lea rdx, [rbp + 0x134d]
lea r8d, [r12 + 0x1f]
movzx ecx, byte [rdx]
xor byte [rdx + 1], cl
movzx eax, byte [rdx - 1]
xor al, cl
mov byte [rdx], al
lea rdx, [rdx - 2]
sub r8, 1
jne 0x180033732
xor byte [rbp + 0x1310], 0x29
mov qword [rsp + 0x70], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x68], r12
mov byte [rsp + 0x58], r12b
jne 0x18003376b
mov r8, r12
jmp 0x18003377f
lea rax, [rbp + 0x1310]
or r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], r12b
jne 0x180033776
lea rdx, [rbp + 0x1310]
lea rcx, [rsp + 0x58]
call fcn.1800020b0
nop
mov qword [rsp + 0x40], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x38], r12
mov byte [rsp + 0x28], 0
xor r8d, r8d
lea rdx, [0x180057690]
lea rcx, [rsp + 0x28]
call fcn.1800020b0
nop
call fcn.180033e34
nop
mov rax, qword [rsp + 0x40]
cmp rax, 0x10
jb 0x180033817
inc rax
mov rcx, qword [rsp + 0x28]
cmp rax, 0x1000
jb 0x180033812
test cl, 0x1f
je 0x1800337e5
call fcn.18003835c
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x1800337f4
call fcn.18003835c
int3
sub rcx, rax
cmp rcx, 8
jae 0x180033803
call fcn.18003835c
int3
cmp rcx, 0x27
jbe 0x18003380f
call fcn.18003835c
int3
mov rcx, rax
call fcn.180033ed0
call fcn.180033e34
mov ecx, eax
mov dword [rbp + 0x1304], 0xffffffff
mov dword [rbp - 0x7c], eax
mov edx, 1
mov r8d, edx
nop dword [rax]
nop word [rax + rax]
mov eax, ecx
shr eax, 0x1e
xor eax, ecx
imul ecx, eax, 0x6c078965
add ecx, r8d
mov dword [rbp + rdx*4 - 0x7c], ecx
inc r8d
inc rdx
cmp rdx, 0x270
jl 0x180033840
mov dword [rbp - 0x80], 0x270
mov edi, dword [rsp + 0x68]
dec edi
mov qword [r14 + 0x18], reloc.WS2_32.dll_ntohs
mov qword [r14 + 0x10], r12
cmp qword [r14 + 0x18], 0x10
jb 0x180033888
mov rax, qword [r14]
jmp 0x18003388b
mov rax, r14
mov byte [rax], 0
mov dword [rsp + 0x20], 1
mov r15d, 4
cmp qword [r14 + 0x10], r15
ja 0x1800338ea
cmp qword [r14 + 0x18], r15
je 0x1800338ea
mov rbx, qword [r14 + 0x10]
jae 0x1800338be
mov r8, rbx
mov edx, r15d
mov rcx, r14
call fcn.1800024c0
jmp 0x1800338d3
cmp rbx, r15
mov r8, r15
ja 0x1800338c9
mov r8, rbx
mov dl, 1
mov rcx, r14
call fcn.180002000
mov qword [r14 + 0x10], rbx
cmp qword [r14 + 0x18], 0x10
jb 0x1800338e3
mov rax, qword [r14]
jmp 0x1800338e6
mov rax, r14
mov byte [rbx + rax], 0
mov ecx, 0x80000000
add edi, ecx
add edi, ecx
cmp edi, 0xffffffff
jne 0x180033912
nop dword [rax + rax]
lea rcx, [rbp - 0x80]
call fcn.180033a00
mov edx, eax
cmp eax, 0xffffffff
ja 0x180033900
jmp 0x180033958
lea esi, [rdi + 1]
mov ebx, r12d
mov eax, r12d
test edi, edi
je 0x18003393a
nop
mov ebx, r12d
lea rcx, [rbp - 0x80]
call fcn.180033a00
cmp eax, 0xffffffff
ja 0x180033923
or ebx, eax
or eax, 0xffffffff
cmp eax, edi
jb 0x180033920
xor edx, edx
div esi
mov r8d, edx
mov ecx, eax
xor edx, edx
mov eax, ebx
div esi
cmp eax, ecx
jb 0x180033952
cmp r8d, edi
jne 0x180033915
xor edx, edx
mov eax, ebx
div esi
movsxd rax, edx
movzx r8d, byte [rbp + rax + 0x1310]
mov rcx, r14
call fcn.18000a500
sub r15, 1
jne 0x1800338f3
mov rax, qword [rsp + 0x70]
cmp rax, 0x10
jb 0x1800339ca
inc rax
mov rcx, qword [rsp + 0x58]
cmp rax, 0x1000
jb 0x1800339c5
test cl, 0x1f
je 0x180033998
call fcn.18003835c
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x1800339a7
call fcn.18003835c
int3
sub rcx, rax
cmp rcx, 8
jae 0x1800339b6
call fcn.18003835c
int3
cmp rcx, 0x27
jbe 0x1800339c2
call fcn.18003835c
int3
mov rcx, rax
call fcn.180033ed0
mov rax, r14
mov rcx, qword [rbp + 0x1350]
xor rcx, rsp
call fcn.180033e70
lea r11, [rsp + 0x1460]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret