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

Disassembly:
push rbx
push rbp
push r12
push r14
push r15
sub rsp, 0x30
mov qword [rsp + 0x60], rsi
lea r15, [0x1400e5891]
mov qword [rsp + 0x70], rdi
mov rbx, rdx
mov rbp, rcx
xor r14d, r14d
movabs r12, 0x800000000000000f
mov rax, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
jae 0x14008b3e0
movzx ecx, byte [rax]
test cl, cl
jle 0x14008b3e0
inc rax
mov dword [rbx + 0x20], ecx
mov qword [rbx + 8], rax
mov edx, ecx
jmp 0x14008b3f4
mov rcx, rbx
call fcn.14006f1a0
mov edx, eax
mov dword [rbx + 0x20], eax
dec eax
cmp eax, 0x7f
jae 0x14008b416
mov ecx, edx
shr ecx, 3
sub ecx, 1
je 0x14008b455
sub ecx, 1
je 0x14008b44b
sub ecx, 1
je 0x14008b441
cmp ecx, 1
jne 0x14008b416
cmp edx, 0x22
je 0x14008b698
test edx, edx
je 0x14008b751
mov eax, edx
and al, 7
cmp al, 4
je 0x14008b751
lea r8, [rbp + 8]
mov rcx, rbx
call fcn.14007cdc0
test al, al
jne 0x14008b3c1
xor al, al
jmp 0x14008b753
cmp edx, 0x1a
jne 0x14008b416
jmp 0x14008b5d8
cmp edx, 0x12
jne 0x14008b416
jmp 0x14008b518
cmp edx, 0xa
jne 0x14008b416
or dword [rbp + 0x10], 1
mov rdx, qword [rbp + 0x18]
cmp rdx, qword [0x1401d2e90]
jne 0x14008b4d3
mov r9d, 0x811c9dc5
mov rcx, r15
mov eax, 0x44
nop dword [rax]
xor eax, r9d
lea rcx, [rcx + 1]
imul r9d, eax, 0x1000193
movzx eax, byte [rcx - 1]
test eax, eax
jne 0x14008b480
lea r8, str.D:BuildServerDworkpackage_cacheprotobuf_blz2.6.1.7includegoogleprotobufdescriptor.pb.h
mov dword [rsp + 0x20], 0x12a3
lea edx, [rax + 0xb]
lea ecx, [rax + 0x28]
call fcn.140025410
mov rdx, rax
test rax, rax
je 0x14008b4cc
mov qword [rax + 8], r14
add rax, 0x18
mov qword [rdx], rax
mov qword [rdx + 0x10], r12
mov byte [rax], r14b
jmp 0x14008b4cf
mov rdx, r14
mov qword [rbp + 0x18], rdx
mov rcx, rbx
call fcn.1400703b0
test al, al
je 0x14008b43a
mov rax, qword [rbp + 0x18]
mov edx, dword [rax + 8]
mov rcx, qword [rax]
call fcn.14004e6f0
test al, al
je 0x14008b43a
mov rax, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
jae 0x14008b3c1
cmp byte [rax], 0x12
jne 0x14008b3c1
inc rax
mov qword [rbx + 8], rax
or dword [rbp + 0x10], 2
mov rdx, qword [rbp + 0x20]
cmp rdx, qword [0x1401d2e90]
jne 0x14008b593
mov r9d, 0x811c9dc5
mov rcx, r15
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 0x14008b540
lea r8, str.D:BuildServerDworkpackage_cacheprotobuf_blz2.6.1.7includegoogleprotobufdescriptor.pb.h
mov dword [rsp + 0x20], 0x12ef
lea edx, [rax + 0xb]
lea ecx, [rax + 0x28]
call fcn.140025410
mov rdx, rax
test rax, rax
je 0x14008b58c
mov qword [rax + 8], r14
add rax, 0x18
mov qword [rdx], rax
mov qword [rdx + 0x10], r12
mov byte [rax], r14b
jmp 0x14008b58f
mov rdx, r14
mov qword [rbp + 0x20], rdx
mov rcx, rbx
call fcn.1400703b0
test al, al
je 0x14008b43a
mov rax, qword [rbp + 0x20]
mov edx, dword [rax + 8]
mov rcx, qword [rax]
call fcn.14004e6f0
test al, al
je 0x14008b43a
mov rax, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
jae 0x14008b3c1
cmp byte [rax], 0x1a
jne 0x14008b3c1
inc rax
mov qword [rbx + 8], rax
or dword [rbp + 0x10], 4
mov rdx, qword [rbp + 0x28]
cmp rdx, qword [0x1401d2e90]
jne 0x14008b653
mov r9d, 0x811c9dc5
mov rcx, r15
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 0x14008b600
lea r8, str.D:BuildServerDworkpackage_cacheprotobuf_blz2.6.1.7includegoogleprotobufdescriptor.pb.h
mov dword [rsp + 0x20], 0x133b
lea edx, [rax + 0xb]
lea ecx, [rax + 0x28]
call fcn.140025410
mov rdx, rax
test rax, rax
je 0x14008b64c
mov qword [rax + 8], r14
add rax, 0x18
mov qword [rdx], rax
mov qword [rdx + 0x10], r12
mov byte [rax], r14b
jmp 0x14008b64f
mov rdx, r14
mov qword [rbp + 0x28], rdx
mov rcx, rbx
call fcn.1400703b0
test al, al
je 0x14008b43a
mov rax, qword [rbp + 0x28]
mov edx, dword [rax + 8]
mov rcx, qword [rax]
call fcn.14004e6f0
test al, al
je 0x14008b43a
mov rax, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
jae 0x14008b3c1
cmp byte [rax], 0x22
jne 0x14008b3c1
inc rax
mov qword [rbx + 8], rax
mov rcx, rbp
call fcn.140091530
mov rcx, qword [rbx + 8]
mov rsi, rax
cmp rcx, qword [rbx + 0x10]
jae 0x14008b6c2
movzx edx, byte [rcx]
cmp dl, 0x80
jae 0x14008b6c2
inc rcx
mov dword [rsp + 0x68], edx
mov qword [rbx + 8], rcx
jmp 0x14008b6db
lea rdx, [rsp + 0x68]
mov rcx, rbx
call fcn.14006f350
test al, al
je 0x14008b43a
mov edx, dword [rsp + 0x68]
mov eax, dword [rbx + 0x38]
inc eax
mov dword [rbx + 0x38], eax
cmp eax, dword [rbx + 0x3c]
jg 0x14008b43a
mov rcx, rbx
call fcn.14006ed10
mov rdx, rbx
mov rcx, rsi
mov edi, eax
call fcn.14008b770
test al, al
je 0x14008b43a
cmp byte [rbx + 0x24], r14b
je 0x14008b43a
mov edx, edi
mov rcx, rbx
call fcn.14006ecc0
mov eax, dword [rbx + 0x38]
test eax, eax
jle 0x14008b729
dec eax
mov dword [rbx + 0x38], eax
mov rax, qword [rbx + 0x10]
cmp qword [rbx + 8], rax
jne 0x14008b3c1
cmp dword [rbx + 0x2c], r14d
jne 0x14008b749
mov eax, dword [rbx + 0x28]
cmp dword [rbx + 0x18], eax
jne 0x14008b3c1
mov dword [rbx + 0x20], r14d
mov byte [rbx + 0x24], 1
mov al, 1
mov rdi, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x60]
add rsp, 0x30
pop r15
pop r14
pop r12
pop rbp
pop rbx
ret