Function at 0x180016dc0
Capabilities:
Encode data using xor
Hash data using murmur3

Disassembly:
mov qword [rsp + 8], rcx
push rsi
sub rsp, 0x190
mov rsi, rcx
test rcx, rcx
jne 0x180016dfd
lea edx, [rcx + 0x20]
lea rcx, [rsp + 0x130]
call fcn.1800152b0
lea rcx, [rsp + 0x30]
mov edx, 0x100
call fcn.1800152b0
add rsp, 0x190
pop rsi
ret
mov rcx, qword [rcx + 0x28]
mov qword [rsp + 0x188], rbx
mov qword [rsp + 0x180], rbp
mov eax, dword [rcx]
mov qword [rsp + 0x178], rdi
mov qword [rsp + 0x170], r12
bswap eax
mov qword [rsp + 0x168], r13
mov qword [rsp + 0x160], r14
mov dword [rsp + 0x30], eax
mov eax, dword [rcx + 4]
mov qword [rsp + 0x158], r15
bswap eax
lea rdi, [rsp + 0x68]
mov ebp, 0xc
mov dword [rsp + 0x34], eax
mov eax, dword [rcx + 8]
bswap eax
mov dword [rsp + 0x38], eax
mov eax, dword [rcx + 0xc]
bswap eax
mov dword [rsp + 0x3c], eax
mov eax, dword [rcx + 0x10]
bswap eax
mov dword [rsp + 0x40], eax
mov eax, dword [rcx + 0x14]
bswap eax
mov dword [rsp + 0x44], eax
mov eax, dword [rcx + 0x18]
bswap eax
mov dword [rsp + 0x48], eax
mov eax, dword [rcx + 0x1c]
bswap eax
mov dword [rsp + 0x4c], eax
mov eax, dword [rcx + 0x20]
bswap eax
mov dword [rsp + 0x50], eax
mov eax, dword [rcx + 0x24]
bswap eax
mov dword [rsp + 0x54], eax
mov eax, dword [rcx + 0x28]
bswap eax
mov dword [rsp + 0x58], eax
mov eax, dword [rcx + 0x2c]
bswap eax
mov dword [rsp + 0x5c], eax
mov eax, dword [rcx + 0x30]
bswap eax
mov dword [rsp + 0x60], eax
mov eax, dword [rcx + 0x34]
bswap eax
mov dword [rsp + 0x64], eax
mov eax, dword [rcx + 0x38]
bswap eax
mov dword [rsp + 0x68], eax
mov eax, dword [rcx + 0x3c]
bswap eax
mov dword [rsp + 0x6c], eax
nop word [rax + rax]
mov r10d, dword [rdi - 0x34]
mov r11d, dword [rdi - 0x30]
mov edx, dword [rdi]
mov ecx, edx
mov r9d, r10d
mov eax, r10d
rol r9d, 0xe
ror eax, 7
mov r8d, r11d
xor r9d, eax
mov eax, r10d
shr eax, 3
xor r9d, eax
rol ecx, 0xf
mov eax, edx
shr edx, 0xa
rol eax, 0xd
xor ecx, eax
mov eax, r11d
xor ecx, edx
mov edx, dword [rdi + 4]
add r9d, ecx
mov ecx, edx
add r9d, dword [rdi - 0x38]
add r9d, dword [rdi - 0x14]
rol r8d, 0xe
ror eax, 7
xor r8d, eax
mov eax, r11d
mov dword [rdi + 8], r9d
shr eax, 3
xor r8d, eax
rol ecx, 0xf
mov eax, edx
shr edx, 0xa
rol eax, 0xd
xor ecx, eax
mov eax, r9d
xor ecx, edx
mov edx, r9d
shr r9d, 0xa
add r8d, ecx
add r8d, dword [rdi - 0x10]
add r10d, r8d
mov r8d, dword [rdi - 0x2c]
rol edx, 0xf
rol eax, 0xd
mov ecx, r8d
mov dword [rdi + 0xc], r10d
xor edx, eax
mov eax, r8d
xor edx, r9d
rol ecx, 0xe
ror eax, 7
xor ecx, eax
mov eax, r8d
shr eax, 3
xor ecx, eax
add edx, ecx
mov ecx, dword [rdi - 0x28]
add edx, dword [rdi - 0xc]
mov eax, ecx
add edx, r11d
mov dword [rdi + 0x10], edx
mov edx, ecx
shr ecx, 3
rol edx, 0xe
ror eax, 7
xor edx, eax
mov eax, r10d
xor edx, ecx
mov ecx, r10d
shr r10d, 0xa
rol ecx, 0xf
rol eax, 0xd
xor ecx, eax
xor ecx, r10d
add edx, ecx
add edx, dword [rdi - 8]
add edx, r8d
mov dword [rdi + 0x14], edx
add rdi, 0x10
sub rbp, 1
jne 0x180016ee0
mov r9d, dword [rsi]
mov edi, dword [rsi + 0x10]
mov r15d, dword [rsi + 8]
mov r14d, dword [rsi + 0xc]
mov ebx, dword [rsi + 0x18]
mov r11d, dword [rsi + 0x1c]
mov dword [rsp + 0x1a8], r9d
mov r9d, dword [rsi + 4]
mov dword [rsp + 0x1b0], edi
mov edi, dword [rsi + 0x14]
mov r10d, dword [rsp + 0x1a8]
lea r13d, [rbp + 0x10]
mov ebp, dword [rsp + 0x1b0]
lea rsi, [0x180032e70]
xor r12d, r12d
mov r8d, ebp
mov eax, ebp
mov ecx, ebp
ror r8d, 0xb
rol eax, 7
not ecx
xor r8d, eax
and ecx, ebx
mov eax, ebp
ror eax, 6
xor r8d, eax
mov eax, edi
and eax, ebp
xor ecx, eax
mov eax, r10d
add r8d, ecx
mov ecx, r9d
add r8d, dword [r12 + rsi]
xor ecx, r10d
add r8d, dword [rsp + r12 + 0x30]
and ecx, r15d
add r8d, r11d
lea r11d, [r8 + r14]
mov r14d, r10d
ror r14d, 0xd
rol eax, 0xa
xor r14d, eax
mov eax, r10d
ror eax, 2
xor r14d, eax
mov eax, r9d
and eax, r10d
xor ecx, eax
mov eax, r11d
add r14d, ecx
mov ecx, r11d
add r14d, r8d
not ecx
mov r8d, r11d
ror r8d, 0xb
rol eax, 7
and ecx, edi
xor r8d, eax
mov eax, r11d
ror eax, 6
xor r8d, eax
mov eax, ebp
and eax, r11d
xor ecx, eax
mov eax, r14d
add r8d, ecx
mov ecx, r10d
add r8d, dword [rsp + r12 + 0x34]
xor ecx, r14d
add r8d, dword [r12 + rsi + 4]
and ecx, r9d
add r8d, ebx
lea ebx, [r8 + r15]
mov r15d, r14d
ror r15d, 0xd
rol eax, 0xa
xor r15d, eax
mov eax, r14d
ror eax, 2
xor r15d, eax
mov eax, r10d
and eax, r14d
xor ecx, eax
mov eax, ebx
add r15d, ecx
mov ecx, ebx
add r15d, r8d
mov r8d, ebx
not ecx
ror r8d, 0xb
rol eax, 7
xor r8d, eax
mov eax, ebx
ror eax, 6
xor r8d, eax
and ecx, ebp
mov eax, r11d
add r12, 0x10
and eax, ebx
xor ecx, eax
mov eax, r15d
add r8d, ecx
mov ecx, r14d
add r8d, dword [rsp + r12 + 0x28]
xor ecx, r15d
add r8d, dword [r12 + rsi - 8]
and ecx, r10d
add r8d, edi
lea edi, [r8 + r9]
mov r9d, r15d
ror r9d, 0xd
rol eax, 0xa
xor r9d, eax
mov eax, r15d
ror eax, 2
xor r9d, eax
mov eax, r14d
and eax, r15d
xor ecx, eax
mov eax, edi
add r9d, ecx
mov ecx, edi
add r9d, r8d
not ecx
mov r8d, edi
ror r8d, 0xb
rol eax, 7
and ecx, r11d
xor r8d, eax
mov eax, edi
ror eax, 6
xor r8d, eax
mov eax, ebx
and eax, edi
xor ecx, eax
mov eax, r9d
add r8d, ecx
mov ecx, r15d
add r8d, dword [rsp + r12 + 0x2c]
xor ecx, r9d
add r8d, dword [r12 + rsi - 4]
and ecx, r14d
add r8d, ebp
lea ebp, [r8 + r10]
mov r10d, r9d
ror r10d, 0xd
rol eax, 0xa
xor r10d, eax
mov eax, r9d
ror eax, 2
xor r10d, eax
mov eax, r15d
and eax, r9d
xor ecx, eax
add r10d, ecx
add r10d, r8d
sub r13, 1
jne 0x180017022
mov rsi, qword [rsp + 0x1a0]
mov r13, qword [rsp + 0x168]
mov r12, qword [rsp + 0x170]
mov eax, dword [rsi]
add eax, r10d
mov dword [rsi], eax
mov eax, r9d
add eax, dword [rsi + 4]
mov dword [rsi + 4], eax
mov eax, dword [rsi + 8]
add eax, r15d
mov r15, qword [rsp + 0x158]
mov dword [rsi + 8], eax
mov eax, dword [rsi + 0xc]
add eax, r14d
mov r14, qword [rsp + 0x160]
mov dword [rsi + 0xc], eax
mov eax, dword [rsi + 0x10]
add eax, ebp
mov rbp, qword [rsp + 0x180]
mov dword [rsi + 0x10], eax
mov eax, edi
mov rdi, qword [rsp + 0x178]
add eax, dword [rsi + 0x14]
mov dword [rsi + 0x14], eax
mov eax, ebx
mov rbx, qword [rsp + 0x188]
add eax, dword [rsi + 0x18]
mov dword [rsi + 0x18], eax
mov eax, r11d
add eax, dword [rsi + 0x1c]
mov dword [rsi + 0x1c], eax
add rsp, 0x190
pop rsi
ret