Function at 0x180060080
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister
Hash data using fnv

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x2660]
mov eax, 0x2760
call fcn.1801bf820
sub rsp, rax
mov rax, qword [0x180279b80]
xor rax, rsp
mov qword [rbp + 0x2650], rax
mov rbx, rdx
mov r14, rcx
mov qword [rsp + 0x28], rcx
xor r12d, r12d
mov dword [rsp + 0x24], r12d
mov r10, qword [rdx + 0x10]
mov r9, rdx
cmp qword [rdx + 0x18], 0xf
jbe 0x1800600dc
mov r9, qword [rdx]
movabs rdx, 0xcbf29ce484222325
mov rcx, rdx
mov r8, r12
movabs r11, 0x100000001b3
test r10, r10
je 0x180060114
nop dword [rax + rax]
movzx eax, byte [r8 + r9]
xor rcx, rax
imul rcx, r11
inc r8
cmp r8, r10
jb 0x180060100
mov dword [rbp + 0x12b4], 0xffffffff
mov dword [rsp + 0x34], ecx
mov r8d, 1
nop dword [rax + rax]
mov eax, ecx
shr eax, 0x1e
xor eax, ecx
imul ecx, eax, 0x6c078965
add ecx, r8d
mov dword [rsp + r8*4 + 0x34], ecx
inc r8
cmp r8, 0x270
jb 0x180060130
mov edi, 0x270
mov dword [rsp + 0x30], edi
mov r9, qword [0x180a56a98]
lea r8, [0x180a56a88]
cmp qword [reloc.WS2_32.dll_ntohs], 0xf
cmova r8, qword [0x180a56a88]
mov rcx, r12
test r9, r9
je 0x180060194
movzx eax, byte [rcx + r8]
xor rdx, rax
imul rdx, r11
inc rcx
cmp rcx, r9
jb 0x180060180
mov dword [rbp + 0x2644], 0xffffffff
mov dword [rbp + 0x12c4], edx
mov r8d, 1
nop word [rax + rax]
mov eax, edx
shr eax, 0x1e
xor eax, edx
imul ecx, eax, 0x6c078965
add ecx, r8d
mov dword [rbp + r8*4 + 0x12c4], ecx
mov edx, ecx
inc r8
cmp r8, rdi
jb 0x1800601b0
mov esi, edi
mov dword [rbp + 0x12c0], edi
vpxor xmm0, xmm0, xmm0
vmovups xmmword [r14], xmm0
mov qword [r14 + 0x10], r12
mov qword [r14 + 0x18], reloc.WS2_32.dll_ntohs
mov byte [r14], r12b
mov dword [rsp + 0x24], 1
mov rax, qword [rbx + 0x10]
cmp rax, 0xf
jbe 0x180060217
mov rdx, rax
mov rcx, r14
call fcn.180026480
mov qword [r14 + 0x10], r12
mov rax, qword [rbx + 0x10]
mov rcx, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x180060227
mov rcx, qword [rbx]
mov rbx, rcx
lea r15, [rax + rbx]
cmp rcx, r15
je 0x1800605d4
sub r15, rcx
movzx ebx, byte [rsp + 0x20]
nop dword [rax]
cmp edi, 0x270
jne 0x180060295
lea rax, [rsp + 0x38]
mov r9d, edi
mov r8d, dword [rax - 4]
xor r8d, dword [rax]
btr r8d, 0x1f
xor r8d, dword [rax - 4]
mov ecx, r8d
and cl, 1
neg cl
sbb edx, edx
and edx, 0x9908b0df
xor edx, dword [rax + 0x630]
shr r8d, 1
xor edx, r8d
mov dword [rax + 0x9bc], edx
lea rax, [rax + 4]
sub r9, 1
jne 0x180060250
mov edi, dword [rsp + 0x30]
jmp 0x18006038a
cmp edi, 0x4e0
jb 0x18006038a
mov r8, r12
lea r9, [rbp + 0x8f4]
lea r10, [rbp + 0xf28]
lea r11, [rsp + 0x34]
nop word [rax + rax]
mov edx, dword [r9 + r8*4]
xor edx, dword [rbp + r8*4 + 0x8f8]
btr edx, 0x1f
xor edx, dword [r9 + r8*4]
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
and ecx, 0x9908b0df
xor ecx, dword [r10 + r8*4]
shr edx, 1
xor ecx, edx
mov dword [r11 + r8*4], ecx
inc r8
cmp r8, 0xe3
jb 0x1800602c0
mov r8d, 0xe3
lea r9, [rbp + 0x8f8]
lea r10, [rsp + 0x34]
nop dword [rax]
mov eax, dword [rbp + r8*4 + 0x8f4]
mov edx, eax
xor edx, dword [r9 + r8*4]
btr edx, 0x1f
xor edx, eax
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
and ecx, 0x9908b0df
xor ecx, dword [rbp + r8*4 - 0x458]
shr edx, 1
xor ecx, edx
mov dword [r10 + r8*4], ecx
inc r8
cmp r8, 0x26f
jb 0x180060310
mov edx, dword [rbp + 0x12b0]
and edx, 0x80000000
mov eax, dword [rsp + 0x34]
btr eax, 0x1f
or edx, eax
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
and ecx, 0x9908b0df
shr edx, 1
xor ecx, edx
xor ecx, dword [rbp + 0x564]
mov dword [rbp + 0x8f0], ecx
mov edi, r12d
mov dword [rsp + 0x30], r12d
mov eax, edi
mov ecx, dword [rsp + rax*4 + 0x34]
inc edi
mov dword [rsp + 0x30], edi
mov eax, ecx
shr eax, 0xb
and eax, dword [rbp + 0x12b4]
xor ecx, eax
mov eax, ecx
and eax, 0xff3a58ad
shl eax, 7
xor ecx, eax
mov eax, ecx
and eax, 0xffffdf8c
shl eax, 0xf
xor eax, ecx
mov r10d, eax
shr r10d, 0x12
xor r10b, al
cmp esi, 0x270
jne 0x180060424
lea r8, [rbp + 0x12c8]
mov r9d, esi
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 0x1800603e0
mov esi, dword [rbp + 0x12c0]
jmp 0x18006051e
cmp esi, 0x4e0
jb 0x18006051e
mov r8, r12
lea r9, [rbp + 0x1c84]
lea r11, [rbp + 0x22b8]
lea rsi, [rbp + 0x12c4]
nop dword [rax + rax]
mov edx, dword [r9 + r8*4]
xor edx, dword [rbp + r8*4 + 0x1c88]
btr edx, 0x1f
xor edx, dword [r9 + r8*4]
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
and ecx, 0x9908b0df
xor ecx, dword [r11 + r8*4]
shr edx, 1
xor ecx, edx
mov dword [rsi + r8*4], ecx
inc r8
cmp r8, 0xe3
jb 0x180060450
mov r8d, 0xe3
lea r9, [rbp + 0x1c88]
lea r11, [rbp + 0x12c4]
nop
mov eax, dword [rbp + r8*4 + 0x1c84]
mov edx, eax
xor edx, dword [r9 + r8*4]
btr edx, 0x1f
xor edx, eax
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
and ecx, 0x9908b0df
xor ecx, dword [rbp + r8*4 + 0xf38]
shr edx, 1
xor ecx, edx
mov dword [r11 + r8*4], ecx
inc r8
cmp r8, 0x26f
jb 0x1800604a0
mov edx, dword [rbp + 0x2640]
and edx, 0x80000000
mov eax, dword [rbp + 0x12c4]
btr eax, 0x1f
or edx, eax
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
and ecx, 0x9908b0df
shr edx, 1
xor ecx, edx
xor ecx, dword [rbp + 0x18f4]
mov dword [rbp + 0x1c80], ecx
mov esi, r12d
mov dword [rbp + 0x12c0], r12d
mov eax, esi
mov edx, dword [rbp + rax*4 + 0x12c4]
inc esi
mov dword [rbp + 0x12c0], esi
mov eax, edx
shr eax, 0xb
and eax, dword [rbp + 0x2644]
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
movsx ecx, al
movsx eax, dl
xor ecx, eax
movsx eax, r10b
xor ecx, eax
mov r9d, ecx
neg r9d
cmovs r9d, ecx
mov eax, 0x4ec4ec4f
imul r9d
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x1a
sub r9d, eax
add r9b, 0x61
mov rcx, qword [r14 + 0x10]
mov rdx, qword [r14 + 0x18]
cmp rcx, rdx
jae 0x1800605b9
lea rax, [rcx + 1]
mov qword [r14 + 0x10], rax
mov rax, r14
cmp rdx, 0xf
jbe 0x1800605ae
mov rax, qword [r14]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x1800605ca
movzx r8d, bl
mov edx, 1
mov rcx, r14
call fcn.180026930
sub r15, 1
jne 0x180060240
mov rax, r14
mov rcx, qword [rbp + 0x2650]
xor rcx, rsp
call fcn.1801be920
lea r11, [rsp + 0x2760]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret