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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x88
mov eax, 0x20
xor r8d, r8d
mov rbx, rdx
mov edx, dword [rcx + 0x20]
mov rbp, rcx
mov byte [rcx + rdx], 1
lea edx, [rdx + 1]
sub rax, rdx
add rdx, rcx
cmp rax, 8
jae 0x140170ff8
test al, 4
jne 0x14017103c
test rax, rax
je 0x140170a93
mov byte [rdx], 0
test al, 2
jne 0x1401710a1
mov rcx, rbp
mov rdx, rbp
call sym.panama_push.constprop.0
mov eax, dword [rbp + 0x428]
mov ecx, dword [rbp + 0x424]
mov dword [rsp + 0x7c], 0x20
mov r15d, dword [rbp + 0x438]
mov r14d, dword [rbp + 0x43c]
mov qword [rsp + 0xd8], rbx
mov edi, dword [rbp + 0x42c]
mov esi, dword [rbp + 0x448]
mov dword [rsp + 0x48], eax
mov eax, dword [rbp + 0x430]
mov dword [rsp + 0x6c], ecx
mov dword [rsp + 0x50], r15d
mov r13d, dword [rbp + 0x460]
mov r15d, r14d
mov r14, rbp
mov dword [rsp + 0x2c], eax
mov eax, dword [rbp + 0x434]
mov r12d, dword [rbp + 0x464]
mov dword [rsp + 0x4c], eax
mov eax, dword [rbp + 0x440]
mov dword [rsp + 0x30], eax
mov eax, dword [rbp + 0x444]
mov dword [rsp + 0x34], eax
mov eax, dword [rbp + 0x44c]
mov dword [rsp + 0x38], eax
mov eax, dword [rbp + 0x450]
mov dword [rsp + 0x3c], eax
mov eax, dword [rbp + 0x454]
mov dword [rsp + 0x40], eax
mov eax, dword [rbp + 0x458]
mov dword [rsp + 0x44], eax
mov eax, dword [rbp + 0x45c]
mov dword [rsp + 0x60], eax
mov eax, dword [rbp + 0x468]
mov ebp, edi
nop word [rax + rax]
mov edi, dword [rsp + 0x6c]
mov r9d, dword [rsp + 0x4c]
mov r10d, dword [rsp + 0x30]
mov r11d, dword [rsp + 0x34]
lea ebx, [rdi + 4]
lea ecx, [rdi - 1]
mov dword [rsp + 0x74], edi
mov dword [rsp + 0x78], ebx
mov ebx, ecx
lea edx, [rdi - 8]
and ebx, 0x1f
and edx, 0x1f
mov ecx, ebx
shl rdx, 5
mov dword [rsp + 0x6c], ebx
mov ebx, dword [rsp + 0x50]
shl rcx, 5
add rdx, r14
add rcx, r14
mov r8d, dword [rcx + 0x2c]
xor dword [rdx + 0x24], r8d
xor r8d, r9d
mov dword [rcx + 0x2c], r8d
mov r8d, dword [rcx + 0x30]
xor dword [rdx + 0x28], r8d
xor r8d, ebx
mov dword [rcx + 0x30], r8d
mov r8d, dword [rcx + 0x34]
xor dword [rdx + 0x2c], r8d
xor r8d, r15d
mov dword [rcx + 0x34], r8d
mov r8d, dword [rcx + 0x38]
xor dword [rdx + 0x30], r8d
xor r8d, r10d
mov dword [rcx + 0x38], r8d
mov r8d, dword [rcx + 0x3c]
xor dword [rdx + 0x34], r8d
xor r8d, r11d
mov dword [rcx + 0x3c], r8d
mov r8d, dword [rcx + 0x40]
xor dword [rdx + 0x38], r8d
xor r8d, esi
mov dword [rcx + 0x40], r8d
mov r8d, dword [rcx + 0x24]
xor dword [rdx + 0x3c], r8d
mov edi, dword [rsp + 0x2c]
xor r8d, ebp
mov dword [rcx + 0x24], r8d
mov r8d, dword [rcx + 0x28]
xor dword [rdx + 0x40], r8d
mov edx, edi
xor r8d, edi
not edx
mov dword [rcx + 0x28], r8d
mov ecx, dword [rsp + 0x48]
or edx, ebp
mov r8d, eax
not r8d
mov edi, ecx
xor edi, edx
mov edx, dword [rsp + 0x38]
mov dword [rsp + 0x64], edi
mov edi, r9d
not edx
not edi
or edx, esi
xor edx, r11d
mov r11d, dword [rsp + 0x40]
rol edx, 1
mov dword [rsp + 0x54], edx
mov edx, r8d
or edx, r12d
xor edx, r13d
mov r8d, edx
mov edx, r10d
not edx
rol r8d, 3
or edx, r15d
mov dword [rsp + 0x58], r8d
mov r8d, ebx
xor edx, ebx
not r8d
mov ebx, edx
rol ebx, 6
mov dword [rsp + 0x5c], ebx
mov ebx, dword [rsp + 0x60]
not ebx
mov edx, ebx
mov ebx, dword [rsp + 0x44]
or edx, ebx
mov ebx, dword [rsp + 0x3c]
xor edx, r11d
mov r11d, ecx
mov ecx, dword [rsp + 0x44]
mov r10d, edx
mov edx, r9d
mov r9d, dword [rsp + 0x2c]
not ebx
rol r10d, 0xa
or r8d, edx
mov edx, dword [rsp + 0x3c]
not r11d
or edi, r9d
mov r9d, dword [rsp + 0x38]
mov dword [rsp + 0x68], r10d
or r11d, eax
xor edi, ebp
not ebp
xor r11d, r12d
not r12d
rol edi, 0xf
or ebx, r9d
mov r9d, dword [rsp + 0x34]
or r12d, r13d
xor ebx, esi
not esi
ror r11d, 4
not r9d
ror ebx, 0xb
mov r10d, r9d
mov r9d, dword [rsp + 0x30]
or r10d, r9d
mov r9d, r13d
xor r10d, r15d
not r9d
rol r10d, 4
mov dword [rsp + 0x70], r10d
mov r10d, dword [rsp + 0x60]
or r9d, r10d
xor r9d, ecx
mov ecx, dword [rsp + 0x2c]
rol r9d, 0xd
xor r8d, ecx
mov ecx, dword [rsp + 0x40]
ror r8d, 9
not ecx
or ecx, edx
mov edx, dword [rsp + 0x38]
xor ecx, edx
mov edx, ebp
mov ebp, dword [rsp + 0x48]
rol ecx, 2
or edx, ebp
xor edx, eax
mov eax, dword [rsp + 0x34]
mov ebp, dword [rsp + 0x30]
rol edx, 0xe
or esi, eax
mov eax, dword [rsp + 0x4c]
xor esi, ebp
mov ebp, esi
mov esi, dword [rsp + 0x50]
ror ebp, 5
xor r10d, r12d
mov r12d, r15d
mov r15d, dword [rsp + 0x54]
not r12d
mov dword [rsp + 0x38], ebp
mov r13d, r10d
mov r10d, dword [rsp + 0x68]
or r12d, esi
mov esi, dword [rsp + 0x64]
rol r13d, 9
xor r12d, eax
mov eax, dword [rsp + 0x44]
ror r12d, 8
not eax
mov ebp, eax
mov eax, dword [rsp + 0x40]
or ebp, eax
mov eax, dword [rsp + 0x3c]
xor ebp, eax
mov eax, r15d
xor eax, r10d
mov r10d, dword [rsp + 0x58]
rol ebp, 8
xor eax, esi
mov dword [rsp + 0x44], ebp
xor eax, 1
mov dword [rsp + 0x48], eax
mov eax, r15d
xor eax, r10d
mov esi, eax
mov eax, dword [rsp + 0x78]
and eax, 0x1f
mov r15, rax
shl rax, 5
shl r15, 5
add rax, r14
xor esi, dword [r15 + r14 + 0x24]
mov r15d, dword [rsp + 0x5c]
xor esi, edi
mov ebp, esi
mov esi, r15d
xor esi, r10d
xor esi, dword [rax + 0x28]
mov r10d, dword [rsp + 0x68]
xor esi, ebx
mov dword [rsp + 0x2c], esi
mov esi, r15d
xor esi, r10d
xor esi, dword [rax + 0x2c]
xor r10d, edi
xor edi, ebx
xor esi, r11d
xor edi, dword [rax + 0x34]
xor ebx, r11d
xor ebx, dword [rax + 0x38]
mov dword [rsp + 0x4c], esi
mov esi, dword [rax + 0x30]
mov r15d, edi
xor r15d, r9d
xor esi, r10d
mov r10d, dword [rsp + 0x70]
xor esi, r10d
xor ebx, r8d
xor r11d, r10d
xor r10d, r9d
xor r11d, dword [rax + 0x3c]
xor r10d, dword [rax + 0x40]
xor r9d, r8d
mov dword [rsp + 0x50], esi
mov eax, dword [rsp + 0x74]
xor r11d, ecx
mov dword [rsp + 0x30], ebx
xor r8d, ecx
mov dword [rsp + 0x34], r11d
mov r11d, r10d
xor ecx, edx
xor eax, 0x10
xor r11d, edx
mov r10, rax
mov esi, r11d
shl r10, 5
xor r9d, dword [r10 + r14 + 0x24]
mov edi, dword [rsp + 0x38]
mov rax, r10
mov ebx, dword [rsp + 0x44]
add rax, r14
mov r11d, edi
xor ecx, dword [rax + 0x2c]
xor edx, edi
xor edx, dword [rax + 0x30]
xor r11d, r9d
mov r9d, ecx
mov ecx, dword [rsp + 0x64]
xor r8d, dword [rax + 0x28]
mov dword [rsp + 0x38], r11d
mov r11d, edi
mov edi, ebx
xor r8d, r13d
xor edi, edx
mov edx, dword [rax + 0x34]
xor r9d, r12d
mov dword [rsp + 0x3c], r8d
mov dword [rsp + 0x44], edi
xor edx, ecx
xor ecx, dword [rax + 0x40]
mov dword [rsp + 0x40], r9d
xor edx, r11d
mov edi, edx
mov edx, dword [rsp + 0x54]
xor edi, r13d
xor edx, r13d
xor edx, dword [rax + 0x38]
mov dword [rsp + 0x60], edi
mov r13d, edx
mov edx, dword [rsp + 0x58]
mov edi, dword [rsp + 0x5c]
xor r13d, r12d
xor edx, r12d
mov r12d, ebx
xor edx, dword [rax + 0x3c]
mov eax, ecx
xor r12d, edx
xor eax, edi
xor eax, ebx
sub dword [rsp + 0x7c], 1
jne 0x140170b60
mov esi, dword [rsp + 0x38]
mov rbx, qword [rsp + 0xd8]
mov dword [r14 + 0x468], eax
lea rdx, [r14 + 0x450]
mov dword [r14 + 0x450], r8d
mov rbp, r14
mov dword [r14 + 0x44c], esi
mov esi, dword [rsp + 0x44]
mov rax, rbx
sub rax, rdx
mov dword [r14 + 0x454], r9d
mov dword [r14 + 0x458], esi
mov esi, dword [rsp + 0x60]
mov dword [r14 + 0x460], r13d
mov dword [r14 + 0x45c], esi
mov dword [r14 + 0x464], r12d
cmp rax, 0x18
jbe 0x140171050
vmovdqu ymm1, ymmword [r14 + 0x44c]
vmovdqu ymmword [rbx], ymm1
vzeroupper
lea rdi, [rbp + 0x2c]
mov eax, ebp
vpxor xmm0, xmm0, xmm0
mov dword [rbp + 0x20], 0
and rdi, 0xfffffffffffffff8
mov qword [rbp + 0x24], 0
mov qword [rbp + 0x41c], 0
sub eax, edi
lea ecx, [rax + 0x424]
xor eax, eax
shr ecx, 3
rep stosq qword [rdi], rax
vmovdqu xmmword [rbp + 0x428], xmm0
mov dword [rbp + 0x424], 0
mov dword [rbp + 0x468], 0
vmovdqu xmmword [rbp + 0x438], xmm0
vmovdqu xmmword [rbp + 0x448], xmm0
vmovdqu xmmword [rbp + 0x458], xmm0
add rsp, 0x88
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, [rdx + 8]
mov qword [rdx], 0
mov qword [rdx + rax - 8], 0
and rcx, 0xfffffffffffffff8
sub rdx, rcx
add rax, rdx
and rax, 0xfffffffffffffff8
cmp rax, 8
jb 0x140170a93
and rax, 0xfffffffffffffff8
xor edx, edx
mov qword [rcx + rdx], r8
add rdx, 8
cmp rdx, rax
jb 0x14017102a
jmp 0x140170a93
mov dword [rdx], 0
mov dword [rdx + rax - 4], 0
jmp 0x140170a93
mov eax, dword [rsp + 0x38]
mov dword [rbx], eax
mov eax, dword [r14 + 0x450]
mov dword [rbx + 4], eax
mov eax, dword [r14 + 0x454]
mov dword [rbx + 8], eax
mov eax, dword [r14 + 0x458]
mov dword [rbx + 0xc], eax
mov eax, dword [r14 + 0x45c]
mov dword [rbx + 0x10], eax
mov eax, dword [r14 + 0x460]
mov dword [rbx + 0x14], eax
mov eax, dword [r14 + 0x464]
mov dword [rbx + 0x18], eax
mov eax, dword [r14 + 0x468]
mov dword [rbx + 0x1c], eax
jmp 0x140170f73
xor ecx, ecx
mov word [rdx + rax - 2], cx
jmp 0x140170a93