Function at 0x1400a7a50
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x70
xorps xmm0, xmm0
movzx edi, r8b
xor eax, eax
mov dword [rsp + 0x48], edx
mov qword [rsp + 0x40], rax
lea r8, [rsp + 0x48]
movups xmmword [rsp + 0x50], xmm0
lea rdx, [rsp + 0x30]
movzx esi, r9b
movsd xmm0, qword [rsp + 0x40]
movsd qword [rsp + 0x60], xmm0
call fcn.1400a3d30
cmp byte [rsp + 0x38], 0
mov rbx, qword [rsp + 0x30]
mov rax, qword [rsp + 0xa0]
mov qword [rbx + 0x38], rax
je case.default.0x1400a7ae2
lea rdx, [0x140000000]
mov byte [rbx + 0x31], 1
mov byte [rbx + 0x30], dil
mov byte [rbx + 0x33], sil
mov eax, dword [rdx + rdi*4 + 0xe7e70]
dec eax
cmp eax, 9
ja case.default.0x1400a7ae2
cdqe
mov ecx, dword [rdx + rax*4 + 0xa7da4]
add rcx, rdx
jmp rcx
mov r9d, 0x811c9dc5
lea rcx, [0x1400ec3a1]
mov eax, 0x44
nop word [rax + rax]
xor eax, r9d
lea rcx, [rcx + 1]
imul r9d, eax, 0x1000193
movzx eax, byte [rcx - 1]
test eax, eax
jne 0x1400a7b00
mov dword [rsp + 0x20], 0x15d
mov edx, ntohs
lea r8, str.D:BuildServerDworkpackage_cacheprotobuf_blz2.6.1.7_srcgoogleprotobufextension_set.cc
lea ecx, [rdx + 5]
call fcn.140025410
xor ecx, ecx
test rax, rax
je 0x1400a7d87
mov qword [rax], rcx
mov qword [rax + 8], rcx
jmp 0x1400a7d8a
mov r9d, 0x811c9dc5
lea rcx, [0x1400ec3a1]
mov eax, 0x44
nop dword [rax + rax]
xor eax, r9d
lea rcx, [rcx + 1]
imul r9d, eax, 0x1000193
movzx eax, byte [rcx - 1]
test eax, eax
jne 0x1400a7b60
mov dword [rsp + 0x20], 0x160
jmp 0x1400a7b1e
mov r9d, 0x811c9dc5
lea rcx, [0x1400ec3a1]
mov eax, 0x44
xor eax, r9d
lea rcx, [rcx + 1]
imul r9d, eax, 0x1000193
movzx eax, byte [rcx - 1]
test eax, eax
jne 0x1400a7b92
mov dword [rsp + 0x20], 0x163
jmp 0x1400a7b1e
mov r9d, 0x811c9dc5
lea rcx, [0x1400ec3a1]
mov eax, 0x44
nop word [rax + rax]
xor eax, r9d
lea rcx, [rcx + 1]
imul r9d, eax, 0x1000193
movzx eax, byte [rcx - 1]
test eax, eax
jne 0x1400a7bd0
mov dword [rsp + 0x20], 0x166
jmp 0x1400a7b1e
mov r9d, 0x811c9dc5
lea rcx, [0x1400ec3a1]
mov eax, 0x44
nop word [rax + rax]
xor eax, r9d
lea rcx, [rcx + 1]
imul r9d, eax, 0x1000193
movzx eax, byte [rcx - 1]
test eax, eax
jne 0x1400a7c10
mov dword [rsp + 0x20], 0x169
jmp 0x1400a7b1e
mov r9d, 0x811c9dc5
lea rcx, [0x1400ec3a1]
mov eax, 0x44
nop word [rax + rax]
xor eax, r9d
lea rcx, [rcx + 1]
imul r9d, eax, 0x1000193
movzx eax, byte [rcx - 1]
test eax, eax
jne 0x1400a7c50
mov dword [rsp + 0x20], 0x16c
jmp 0x1400a7b1e
mov r9d, 0x811c9dc5
lea rcx, [0x1400ec3a1]
mov eax, 0x44
nop word [rax + rax]
xor eax, r9d
lea rcx, [rcx + 1]
imul r9d, eax, 0x1000193
movzx eax, byte [rcx - 1]
test eax, eax
jne 0x1400a7c90
mov dword [rsp + 0x20], 0x16f
jmp 0x1400a7b1e
mov r9d, 0x811c9dc5
lea rcx, [0x1400ec3a1]
mov eax, 0x44
nop word [rax + rax]
xor eax, r9d
lea rcx, [rcx + 1]
imul r9d, eax, 0x1000193
movzx eax, byte [rcx - 1]
test eax, eax
jne 0x1400a7cd0
mov dword [rsp + 0x20], 0x172
jmp 0x1400a7b1e
mov r9d, 0x811c9dc5
lea rcx, [0x1400ec3a1]
mov eax, 0x44
nop word [rax + rax]
xor eax, r9d
lea rcx, [rcx + 1]
imul r9d, eax, 0x1000193
movzx eax, byte [rcx - 1]
test eax, eax
jne 0x1400a7d10
mov dword [rsp + 0x20], 0x175
jmp 0x1400a7d60
mov r9d, 0x811c9dc5
lea rcx, [0x1400ec3a1]
mov eax, 0x44
xor eax, r9d
lea rcx, [rcx + 1]
imul r9d, eax, 0x1000193
movzx eax, byte [rcx - 1]
test eax, eax
jne 0x1400a7d42
mov dword [rsp + 0x20], 0x178
mov edx, ntohs
lea r8, str.D:BuildServerDworkpackage_cacheprotobuf_blz2.6.1.7_srcgoogleprotobufextension_set.cc
lea ecx, [rdx + 0xd]
call fcn.140025410
xor ecx, ecx
test rax, rax
je 0x1400a7d87
mov qword [rax], rcx
mov qword [rax + 8], rcx
mov dword [rax + 0x10], ecx
jmp 0x1400a7d8a
mov rax, rcx
mov qword [rbx + 0x28], rax
mov rax, qword [rbx + 0x28]
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rsp, r11
pop rdi
ret