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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x158
movdqu xmm0, xmmword [rcx + 8]
mov qword [rsp + 0x150], rcx
movdqu xmm1, xmmword [rcx + 0x18]
movdqu xmmword [rsp + 0x140], xmm1
movdqu xmmword [rsp + 0x130], xmm0
xor eax, eax
nop dword [rax]
mov r8d, dword [rdx + rax*4]
bswap r8d
mov dword [rsp + rax*4 + 0x30], r8d
inc rax
cmp rax, 0x10
jne 0x2001972d0
mov r9d, dword [rsp + 0x14c]
mov r8d, dword [rsp + 0x140]
mov ebx, dword [rsp + 0x148]
mov eax, dword [rsp + 0x144]
mov r10d, dword [rsp + 0x130]
mov r11d, dword [rsp + 0x134]
mov edi, dword [rsp + 0x138]
mov cl, 1
mov esi, dword [rsp + 0x13c]
xor r15d, r15d
nop word cs:[rax + rax]
mov dword [rsp + 0x24], ecx
mov r14d, r8d
rol r14d, 0x1a
mov r13d, r8d
rol r13d, 0x15
mov r12d, r8d
rol r12d, 7
mov edx, eax
xor edx, ebx
and edx, r8d
xor r13d, r14d
mov ebp, r10d
rol ebp, 0x1e
xor edx, ebx
mov ecx, r10d
rol ecx, 0x13
xor r12d, r13d
lea r14, [r15*4]
xor ecx, ebp
mov ebp, r10d
add r12d, r9d
rol ebp, 0xa
lea r9, [0x200107b60]
add r12d, dword [r9 + r15*4]
xor ebp, ecx
mov ecx, r11d
add r12d, dword [rsp + r15*4 + 0x30]
and ecx, r10d
mov r9d, r11d
or r9d, r10d
add r12d, edx
and r9d, edi
or r9d, ecx
add r9d, ebp
add esi, r12d
add r9d, r12d
mov ecx, esi
rol ecx, 0x1a
mov edx, esi
mov r12d, esi
rol edx, 0x15
mov r15d, eax
xor r15d, r8d
rol r12d, 7
and r15d, esi
mov r13, r14
or r13, 4
xor r15d, eax
add r15d, ebx
mov ebx, r9d
lea rbp, [0x200107b60]
add r15d, dword [r13 + rbp]
rol ebx, 0x1e
mov ebp, r9d
xor edx, ecx
rol ebp, 0x13
xor ebp, ebx
xor r12d, edx
mov ecx, r9d
rol ecx, 0xa
xor ecx, ebp
mov edx, r9d
and edx, r10d
mov ebx, r9d
add r15d, r12d
or ebx, r10d
and ebx, r11d
add r15d, dword [rsp + r13 + 0x30]
or ebx, edx
add ebx, ecx
add edi, r15d
add ebx, r15d
mov ecx, edi
mov r12d, edi
mov edx, esi
mov r15d, edi
xor edx, r8d
and edx, edi
rol ecx, 0x1a
mov r13, r14
or r13, 8
rol r12d, 0x15
lea rbp, [0x200107b60]
add eax, dword [r13 + rbp]
rol r15d, 7
xor edx, r8d
add eax, dword [rsp + r13 + 0x30]
add eax, edx
mov edx, ebx
rol edx, 0x1e
xor r12d, ecx
mov ecx, ebx
rol ecx, 0x13
xor ecx, edx
mov edx, ebx
rol edx, 0xa
xor r15d, r12d
mov ebp, ebx
and ebp, r9d
mov r12d, ebx
xor edx, ecx
or r12d, r9d
and r12d, r10d
or r12d, ebp
add eax, r15d
add r12d, edx
add r11d, eax
add eax, r12d
mov ecx, r11d
mov edx, r11d
mov r15d, r11d
rol ecx, 0x1a
mov ebp, edi
xor ebp, esi
rol edx, 0x15
and ebp, r11d
mov r12, r14
rol r15d, 7
or r12, 0xc
lea r13, [0x200107b60]
add r8d, dword [r12 + r13]
xor ebp, esi
add r8d, dword [rsp + r12 + 0x30]
mov r12d, eax
add r8d, ebp
rol r12d, 0x1e
mov ebp, eax
xor edx, ecx
rol ebp, 0x13
xor ebp, r12d
xor r15d, edx
mov ecx, eax
rol ecx, 0xa
xor ecx, ebp
mov edx, eax
and edx, ebx
mov ebp, eax
add r8d, r15d
or ebp, ebx
and ebp, r9d
or ebp, edx
add ebp, ecx
add r10d, r8d
add r8d, ebp
mov ecx, r10d
mov edx, r10d
mov r15d, r10d
mov ebp, r11d
xor ebp, edi
and ebp, r10d
mov r12, r14
or r12, 0x10
rol ecx, 0x1a
add esi, dword [r12 + r13]
rol edx, 0x15
add esi, dword [rsp + r12 + 0x30]
rol r15d, 7
xor ebp, edi
add esi, ebp
mov ebp, r8d
xor edx, ecx
rol ebp, 0x1e
mov ecx, r8d
mov r12d, esi
rol ecx, 0x13
xor ecx, ebp
xor r15d, edx
mov edx, r8d
rol edx, 0xa
xor edx, ecx
mov ecx, r8d
and ecx, eax
mov esi, r8d
add r12d, r15d
or esi, eax
and esi, ebx
or esi, ecx
add esi, edx
add r9d, r12d
mov ecx, r9d
rol ecx, 0x1a
add esi, r12d
mov edx, r9d
rol edx, 0x15
mov ebp, r9d
mov r15d, r10d
rol ebp, 7
xor r15d, r11d
and r15d, r9d
mov r12, r14
xor r15d, r11d
or r12, 0x14
add edi, dword [r12 + r13]
xor edx, ecx
add edi, dword [rsp + r12 + 0x30]
add edi, r15d
mov ecx, edi
mov edi, esi
rol edi, 0x1e
xor ebp, edx
mov edx, esi
rol edx, 0x13
add ecx, ebp
mov ebp, esi
rol ebp, 0xa
xor edx, edi
mov r15d, esi
and r15d, r8d
mov edi, esi
xor ebp, edx
or edi, r8d
and edi, eax
or edi, r15d
add edi, ebp
add ebx, ecx
mov edx, ebx
rol edx, 0x1a
add edi, ecx
mov ecx, ebx
rol ecx, 0x15
mov ebp, ebx
mov r15d, r9d
rol ebp, 7
xor r15d, r10d
and r15d, ebx
mov r12, r14
xor r15d, r10d
or r12, 0x18
add r11d, dword [r12 + r13]
xor ecx, edx
add r11d, dword [rsp + r12 + 0x30]
add r11d, r15d
mov edx, r11d
mov r11d, edi
rol r11d, 0x1e
xor ebp, ecx
mov ecx, edi
rol ecx, 0x13
add edx, ebp
mov ebp, edi
rol ebp, 0xa
xor ecx, r11d
mov r15d, edi
and r15d, esi
mov r11d, edi
xor ebp, ecx
or r11d, esi
and r11d, r8d
or r11d, r15d
add r11d, ebp
add eax, edx
mov ecx, eax
mov ebp, eax
add r11d, edx
mov edx, eax
or r14, 0x1c
rol ecx, 0x1a
add r10d, dword [r14 + r13]
rol ebp, 0x15
add r10d, dword [rsp + r14 + 0x30]
rol edx, 7
mov r14d, ebx
xor r14d, r9d
and r14d, eax
xor ebp, ecx
xor r14d, r9d
add r10d, r14d
mov ecx, r11d
mov r14d, r10d
rol ecx, 0x1e
mov r10d, r11d
xor edx, ebp
rol r10d, 0x13
mov ebp, r11d
add r14d, edx
rol ebp, 0xa
mov edx, r11d
xor r10d, ecx
and edx, edi
mov r12d, r11d
or r12d, edi
xor ebp, r10d
and r12d, esi
or r12d, edx
add r8d, r14d
add r12d, ebp
lea r10d, [r14 + r12]
mov r15d, 8
test byte [rsp + 0x24], 1
mov ecx, 0
jne 0x200197330
mov dword [rsp + 0x14c], r9d
mov dword [rsp + 0x13c], esi
mov dword [rsp + 0x148], ebx
mov dword [rsp + 0x138], edi
mov dword [rsp + 0x144], eax
mov dword [rsp + 0x134], r11d
mov dword [rsp + 0x140], r8d
mov dword [rsp + 0x130], r10d
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x2c], r12d
mov edx, 0x10
lea rbx, [0x200107b60]
nop dword [rax]
mov eax, r8d
mov r9d, r8d
mov ecx, dword [rsp + 0x148]
mov r10d, dword [rsp + 0x144]
xor r10d, ecx
and r10d, r8d
rol r8d, 0x1a
rol eax, 0x15
xor eax, r8d
rol r9d, 7
xor r9d, eax
add r9d, dword [rsp + 0x14c]
xor r10d, ecx
mov eax, dword [rsp + rdx*4 - 0xc]
mov r8d, dword [rsp + rdx*4 + 0x28]
mov ecx, r8d
rol ecx, 0xf
mov r11d, r8d
rol r11d, 0xd
xor r11d, ecx
shr r8d, 0xa
xor r8d, r11d
add r8d, dword [rsp + rdx*4 + 0x14]
mov ecx, eax
rol ecx, 0x19
mov r11d, eax
rol r11d, 0xe
xor r11d, ecx
shr eax, 3
xor eax, r11d
add r8d, dword [rsp + rdx*4 - 0x10]
add r8d, eax
mov dword [rsp + rdx*4 + 0x30], r8d
add r9d, dword [rbx + rdx*4]
add r9d, r10d
mov eax, dword [rsp + 0x130]
mov ecx, dword [rsp + 0x134]
mov r10d, eax
mov r11d, eax
mov esi, ecx
and esi, eax
or ecx, eax
rol eax, 0x1e
rol r10d, 0x13
add r9d, r8d
xor r10d, eax
rol r11d, 0xa
xor r11d, r10d
and ecx, dword [rsp + 0x138]
or ecx, esi
add ecx, r11d
add ecx, r9d
add r9d, dword [rsp + 0x13c]
mov dword [rsp + 0x13c], r9d
mov dword [rsp + 0x14c], ecx
mov eax, r9d
mov r10d, r9d
mov ecx, r9d
rol ecx, 0x1a
rol eax, 0x15
rol r10d, 7
xor eax, ecx
xor r10d, eax
add r10d, dword [rsp + 0x148]
mov eax, dword [rsp + 0x144]
mov r11d, dword [rsp + 0x140]
xor r11d, eax
mov r8d, dword [rsp + rdx*4 + 0x2c]
mov ecx, r8d
rol ecx, 0xf
mov esi, r8d
rol esi, 0xd
xor esi, ecx
shr r8d, 0xa
xor r8d, esi
add r8d, dword [rsp + rdx*4 + 0x18]
mov ecx, dword [rsp + rdx*4 - 8]
mov esi, ecx
rol esi, 0x19
and r11d, r9d
mov r9d, ecx
rol r9d, 0xe
xor r11d, eax
xor r9d, esi
shr ecx, 3
xor ecx, r9d
add r8d, dword [rsp + rdx*4 - 0xc]
add r8d, ecx
mov dword [rsp + rdx*4 + 0x34], r8d
add r10d, dword [rbx + rdx*4 + 4]
add r8d, r11d
add r8d, r10d
mov eax, dword [rsp + 0x14c]
mov ecx, eax
mov r9d, eax
mov r10d, dword [rsp + 0x130]
mov r11d, r10d
and r11d, eax
or r10d, eax
rol eax, 0x1e
rol ecx, 0x13
xor ecx, eax
rol r9d, 0xa
xor r9d, ecx
mov eax, dword [rsp + 0x140]
and r10d, dword [rsp + 0x134]
or r10d, r11d
add r10d, r9d
add r10d, r8d
add r8d, dword [rsp + 0x138]
mov dword [rsp + 0x138], r8d
mov dword [rsp + 0x148], r10d
mov ecx, r8d
mov r9d, r8d
mov r10d, dword [rsp + 0x13c]
xor r10d, eax
and r10d, r8d
rol r8d, 0x1a
rol ecx, 0x15
xor ecx, r8d
rol r9d, 7
xor r9d, ecx
add r9d, dword [rsp + 0x144]
xor r10d, eax
mov eax, dword [rsp + rdx*4 - 4]
mov r8d, dword [rsp + rdx*4 + 0x30]
mov ecx, r8d
rol ecx, 0xf
mov r11d, r8d
rol r11d, 0xd
xor r11d, ecx
shr r8d, 0xa
xor r8d, r11d
add r8d, dword [rsp + rdx*4 + 0x1c]
mov ecx, eax
rol ecx, 0x19
mov r11d, eax
rol r11d, 0xe
xor r11d, ecx
shr eax, 3
xor eax, r11d
add r8d, dword [rsp + rdx*4 - 8]
add r8d, eax
mov dword [rsp + rdx*4 + 0x38], r8d
add r9d, dword [rbx + rdx*4 + 8]
add r8d, r10d
mov eax, dword [rsp + 0x148]
mov ecx, eax
mov r10d, eax
mov r11d, dword [rsp + 0x14c]
mov esi, r11d
and esi, eax
or r11d, eax
rol eax, 0x1e
rol ecx, 0x13
add r8d, r9d
xor ecx, eax
rol r10d, 0xa
xor r10d, ecx
and r11d, dword [rsp + 0x130]
or r11d, esi
add r11d, r10d
add r11d, r8d
add r8d, dword [rsp + 0x134]
mov eax, dword [rsp + 0x13c]
mov dword [rsp + 0x134], r8d
mov dword [rsp + 0x144], r11d
mov ecx, r8d
mov r9d, r8d
mov r11d, r8d
rol r11d, 0x1a
rol ecx, 0x15
mov r10d, dword [rsp + 0x138]
xor r10d, eax
and r10d, r8d
xor ecx, r11d
rol r9d, 7
xor r9d, ecx
add r9d, dword [rsp + 0x140]
xor r10d, eax
mov r8d, dword [rsp + rdx*4 + 0x34]
mov eax, r8d
rol eax, 0xf
mov ecx, r8d
rol ecx, 0xd
xor ecx, eax
shr r8d, 0xa
xor r8d, ecx
add r8d, dword [rsp + rdx*4 + 0x20]
mov eax, dword [rsp + rdx*4]
mov ecx, eax
rol ecx, 0x19
mov r11d, eax
rol r11d, 0xe
xor r11d, ecx
shr eax, 3
xor eax, r11d
add r8d, dword [rsp + rdx*4 - 4]
add r8d, eax
mov dword [rsp + rdx*4 + 0x3c], r8d
add r9d, dword [rbx + rdx*4 + 0xc]
add r8d, r10d
add r8d, r9d
mov eax, dword [rsp + 0x144]
mov ecx, eax
mov r9d, eax
mov r11d, dword [rsp + 0x148]
mov esi, r11d
and esi, eax
or r11d, eax
rol eax, 0x1e
rol ecx, 0x13
rol r9d, 0xa
xor ecx, eax
xor r9d, ecx
and r11d, dword [rsp + 0x14c]
mov r10d, dword [rsp + 0x138]
or r11d, esi
add r11d, r9d
add r11d, r8d
add r8d, dword [rsp + 0x130]
mov dword [rsp + 0x130], r8d
mov dword [rsp + 0x140], r11d
mov eax, r8d
mov r9d, r8d
mov r11d, dword [rsp + 0x134]
xor r11d, r10d
and r11d, r8d
rol r8d, 0x1a
rol eax, 0x15
rol r9d, 7
xor eax, r8d
xor r9d, eax
add r9d, dword [rsp + 0x13c]
mov r8d, dword [rsp + rdx*4 + 0x38]
mov eax, r8d
rol eax, 0xf
mov ecx, r8d
rol ecx, 0xd
xor ecx, eax
shr r8d, 0xa
xor r8d, ecx
add r8d, dword [rsp + rdx*4 + 0x24]
mov eax, dword [rsp + rdx*4 + 4]
mov ecx, eax
rol ecx, 0x19
xor r11d, r10d
mov r10d, eax
rol r10d, 0xe
xor r10d, ecx
shr eax, 3
add r8d, dword [rsp + rdx*4]
xor eax, r10d
add r8d, eax
add r9d, dword [rbx + rdx*4 + 0x10]
mov dword [rsp + rdx*4 + 0x40], r8d
add r8d, r11d
mov eax, dword [rsp + 0x140]
mov ecx, eax
mov r10d, eax
mov esi, dword [rsp + 0x144]
mov edi, esi
and edi, eax
or esi, eax
rol eax, 0x1e
add r8d, r9d
rol ecx, 0x13
xor ecx, eax
rol r10d, 0xa
xor r10d, ecx
mov r11d, dword [rsp + 0x134]
and esi, dword [rsp + 0x148]
or esi, edi
add esi, r10d
add esi, r8d
add r8d, dword [rsp + 0x14c]
mov dword [rsp + 0x14c], r8d
mov dword [rsp + 0x13c], esi
mov eax, r8d
mov r10d, r8d
mov ecx, r8d
rol ecx, 0x1a
rol eax, 0x15
xor eax, ecx
rol r10d, 7
xor r10d, eax
add r10d, dword [rsp + 0x138]
mov esi, dword [rsp + 0x130]
xor esi, r11d
mov r9d, dword [rsp + rdx*4 + 0x3c]
mov eax, r9d
rol eax, 0xf
mov ecx, r9d
rol ecx, 0xd
xor ecx, eax
shr r9d, 0xa
xor r9d, ecx
add r9d, dword [rsp + rdx*4 + 0x28]
mov eax, dword [rsp + rdx*4 + 8]
mov ecx, eax
rol ecx, 0x19
and esi, r8d
mov r8d, eax
rol r8d, 0xe
xor esi, r11d
xor r8d, ecx
shr eax, 3
xor eax, r8d
add r9d, dword [rsp + rdx*4 + 4]
add r9d, eax
mov dword [rsp + rdx*4 + 0x44], r9d
add r10d, dword [rbx + rdx*4 + 0x14]
add r9d, esi
add r9d, r10d
mov eax, dword [rsp + 0x13c]
mov ecx, eax
mov r8d, eax
mov r10d, dword [rsp + 0x140]
mov r11d, r10d
and r11d, eax
or r10d, eax
rol eax, 0x1e
rol ecx, 0x13
xor ecx, eax
rol r8d, 0xa
xor r8d, ecx
mov eax, dword [rsp + 0x130]
and r10d, dword [rsp + 0x144]
or r10d, r11d
add r10d, r8d
add r10d, r9d
add r9d, dword [rsp + 0x148]
mov dword [rsp + 0x148], r9d
mov dword [rsp + 0x138], r10d
mov ecx, r9d
mov r10d, r9d
mov r11d, dword [rsp + 0x14c]
xor r11d, eax
and r11d, r9d
rol r9d, 0x1a
rol ecx, 0x15
xor ecx, r9d
rol r10d, 7
xor r10d, ecx
add r10d, dword [rsp + 0x134]
xor r11d, eax
mov eax, dword [rsp + rdx*4 + 0xc]
mov r8d, dword [rsp + rdx*4 + 0x40]
mov ecx, r8d
rol ecx, 0xf
mov r9d, r8d
rol r9d, 0xd
xor r9d, ecx
shr r8d, 0xa
xor r8d, r9d
add r8d, dword [rsp + rdx*4 + 0x2c]
mov ecx, eax
rol ecx, 0x19
mov r9d, eax
rol r9d, 0xe
xor r9d, ecx
shr eax, 3
xor eax, r9d
add r8d, dword [rsp + rdx*4 + 8]
add r8d, eax
mov dword [rsp + rdx*4 + 0x48], r8d
add r10d, dword [rbx + rdx*4 + 0x18]
add r8d, r11d
mov eax, dword [rsp + 0x138]
mov ecx, eax
mov r9d, eax
mov r11d, dword [rsp + 0x13c]
mov esi, r11d
and esi, eax
or r11d, eax
rol eax, 0x1e
rol ecx, 0x13
add r8d, r10d
xor ecx, eax
rol r9d, 0xa
xor r9d, ecx
and r11d, dword [rsp + 0x140]
or r11d, esi
add r11d, r9d
add r11d, r8d
add r8d, dword [rsp + 0x144]
mov eax, dword [rsp + 0x14c]
mov dword [rsp + 0x144], r8d
mov dword [rsp + 0x134], r11d
mov ecx, r8d
mov r10d, r8d
mov r9d, r8d
rol r9d, 0x1a
rol ecx, 0x15
mov r11d, dword [rsp + 0x148]
xor r11d, eax
and r11d, r8d
xor ecx, r9d
rol r10d, 7
xor r10d, ecx
add r10d, dword [rsp + 0x130]
xor r11d, eax
mov r9d, dword [rsp + rdx*4 + 0x44]
mov eax, r9d
rol eax, 0xf
mov ecx, r9d
rol ecx, 0xd
xor ecx, eax
shr r9d, 0xa
xor r9d, ecx
add r9d, dword [rsp + rdx*4 + 0x30]
mov eax, dword [rsp + rdx*4 + 0x10]
mov ecx, eax
rol ecx, 0x19
mov r8d, eax
rol r8d, 0xe
xor r8d, ecx
shr eax, 3
xor eax, r8d
add r9d, dword [rsp + rdx*4 + 0xc]
add r9d, eax
mov dword [rsp + rdx*4 + 0x4c], r9d
add r10d, dword [rbx + rdx*4 + 0x1c]
mov esi, dword [rsp + 0x134]
mov eax, esi
rol eax, 0x1e
add r9d, r11d
mov ecx, esi
rol ecx, 0x13
add r9d, r10d
mov r8d, esi
rol r8d, 0xa
xor ecx, eax
xor r8d, ecx
mov r10, qword [rsp + 0x138]
movq xmm0, r10
pshufd xmm1, xmm0, 0x55
movd eax, xmm1
mov ecx, r10d
and ecx, esi
or r10d, esi
and r10d, eax
or r10d, ecx
add r10d, r8d
mov r8d, dword [rsp + 0x140]
add r8d, r9d
mov dword [rsp + 0x140], r8d
lea r11d, [r10 + r9]
mov dword [rsp + 0x130], r11d
lea rax, [rdx + 8]
cmp rdx, 0x38
mov rdx, rax
jb 0x2001976f0
mov dword [rsp + 0x28], r9d
mov dword [rsp + 0x2c], r10d
movd xmm1, esi
movd xmm2, r11d
punpckldq xmm2, xmm1
punpcklqdq xmm2, xmm0
mov rax, qword [rsp + 0x150]
movdqu xmm0, xmmword [rax + 8]
paddd xmm0, xmm2
movdqu xmm1, xmmword [rax + 0x18]
movdqu xmmword [rax + 8], xmm0
movq xmm0, qword [rsp + 0x148]
movd xmm2, r8d
movd xmm3, dword [rsp + 0x144]
punpckldq xmm2, xmm3
punpcklqdq xmm2, xmm0
paddd xmm2, xmm1
movdqu xmmword [rax + 0x18], xmm2
lea rcx, [rsp + 0x28]
mov edx, 0x128
call fcn.200146a30
nop
add rsp, 0x158
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret