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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xf0
mov r9, r8
mov r15, rcx
mov r8, qword [0x140123488]
xor ecx, ecx
mov qword [rsp + 0x38], rcx
mov qword [rbp - 0x39], r8
cmp byte [r8], cl
je 0x1400b393b
mov rax, 0xffffffffffffffff
nop word [rax + rax]
inc rax
cmp byte [r8 + rax], cl
jne 0x1400b3930
jmp 0x1400b393d
xor eax, eax
movzx ebx, byte [rbp + 0x77]
mov qword [rsp + 0x30], rax
nop word [rax + rax]
lea r12, [rcx + rdx]
mov qword [rsp + 0x20], rax
mov rdx, r9
xor r9d, r9d
sub rdx, rcx
mov rcx, r12
call fcn.1400174b0
cmp rax, 0xffffffffffffffff
je 0x1400b3d4e
cmp eax, 0xffffffff
je 0x1400b3d4e
cmp qword [r15 + 8], 0
movsxd r13, eax
jne 0x1400b39dc
mov rdi, r12
mov rdx, r13
sub rdi, qword [r15]
mov rcx, r15
call fcn.140002a70
mov rcx, qword [r15]
test r13, r13
je 0x1400b39cb
mov r8, r13
cmp rdi, qword [r15 + 8]
jae 0x1400b39c3
lea rdx, [rcx + rdi]
call fcn.1400bddc0
mov rax, qword [r15]
mov byte [rax + r13], 0
mov qword [r15 + 8], r13
jmp 0x1400b3d1e
mov rdx, r12
call fcn.1400bddc0
mov rax, qword [r15]
mov byte [rax + r13], 0
mov qword [r15 + 8], r13
jmp 0x1400b3d1e
xor esi, esi
mov byte [rbp + 0x7f], 0x3a
cmp r13, 1
jb 0x1400b3d16
lea rax, [rbp + 0x7f]
mov r9, r12
sub r9, rax
lea r8d, [rsi + 1]
nop word [rax + rax]
xor eax, eax
cmp rax, 1
jae 0x1400b3a37
lea rcx, [rbp + 0x7f]
add rcx, rax
lea rdx, [rcx + r8]
movzx ecx, byte [rcx]
cmp byte [rdx + r9 - 1], cl
jne 0x1400b3a22
inc rax
jmp 0x1400b3a02
inc rsi
inc r8
cmp r8, r13
jbe 0x1400b3a00
mov eax, 2
jmp 0x1400b3d50
cmp rsi, 0xffffffffffffffff
je 0x1400b3a2d
lea rax, [rsi + 1]
cmp rax, r13
jae 0x1400b3a2d
lea rax, [rsi + 2]
mov qword [rbp - 0x59], 0
lea r14, [r12 + rax]
mov byte [rbp - 0x49], 0
mov rdi, r13
lea rcx, [rbp - 0x61]
sub rdi, rax
lea rax, [rbp - 0x49]
mov qword [rbp - 0x61], rax
mov rdx, rdi
movabs rax, 0x800000000000000f
mov qword [rbp - 0x51], rax
call fcn.140002a70
test rdi, rdi
je 0x1400b3a96
mov rcx, qword [rbp - 0x61]
mov r8, rdi
mov rdx, r14
call fcn.1400bddc0
mov rax, qword [rbp - 0x61]
lea rcx, [rsp + 0x40]
mov rdx, rsi
mov byte [rax + rdi], 0
lea rax, [rbp - 0x71]
mov qword [rsp + 0x40], rax
movabs rax, 0x800000000000000f
mov qword [rbp - 0x79], rax
mov qword [rbp - 0x59], rdi
mov qword [rsp + 0x48], 0
mov byte [rbp - 0x71], 0
call fcn.140002a70
test rsi, rsi
je 0x1400b3ae8
mov rcx, qword [rsp + 0x40]
mov r8, rsi
mov rdx, r12
call fcn.1400bddc0
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x31]
mov byte [rax + rsi], 0
mov qword [rsp + 0x48], rsi
call fcn.1400030e0
lea rdx, [rbp - 0x61]
lea rcx, [rbp - 9]
call fcn.1400030e0
mov r10, qword [r15 + 0x38]
movabs rsi, 0x7fffffffffffffff
mov r8, r10
and r8, rsi
cmp qword [r15 + 0x30], r8
jne 0x1400b3c66
lea r9, [r8 + 1]
cmp r9, r8
jbe 0x1400b3c66
movabs rax, 0x3fffffffffffffff
mov rdx, r10
shr rdx, 1
mov ecx, 1
and rdx, rax
lea rax, [rdx + r8]
cmp rax, r9
mov rax, r10
mov r9d, 0x811c9dc5
cmovae rcx, rdx
lea rdx, [rcx + r8]
xor rax, rdx
lea rcx, [0x1401266a1]
and rax, rsi
xor rax, r10
mov qword [r15 + 0x38], rax
movzx eax, byte [str.._AU__pair_V__basic_string_DU__char_traits_D_blz__V__allocator_D_2__blz__V12__blz__]
test eax, eax
je 0x1400b3ba6
nop dword [rax + rax]
xor eax, r9d
lea rcx, [rcx + 1]
imul r9d, eax, 0x1000193
movzx eax, byte [rcx - 1]
test eax, eax
jne 0x1400b3b90
lea rcx, [rdx + rdx*4]
mov dword [rsp + 0x28], 0
shl rcx, 4
lea r8, str.._AU__pair_V__basic_string_DU__char_traits_D_blz__V__allocator_D_2__blz__V12__blz__
mov edx, ntohs
mov dword [rsp + 0x20], 0xfffffffa
call fcn.140025e30
mov rdi, qword [r15 + 0x28]
mov r12, rax
mov rcx, qword [r15 + 0x30]
mov rsi, rax
lea r14, [rcx + rcx*4]
shl r14, 4
add r14, rdi
cmp rdi, r14
je 0x1400b3c1a
nop dword [rax]
test rsi, rsi
je 0x1400b3c0d
mov rdx, rdi
mov rcx, rsi
call fcn.1400030e0
lea rdx, [rdi + 0x28]
lea rcx, [rsi + 0x28]
call fcn.1400030e0
add rsi, 0x50
add rdi, 0x50
cmp rdi, r14
jne 0x1400b3bf0
mov rax, qword [r15 + 0x30]
movzx r8d, bl
mov rcx, qword [r15 + 0x28]
lea rdx, [rax + rax*4]
shl rdx, 4
add rdx, rcx
call fcn.140023fe0
cmp qword [r15 + 0x38], 0
jl 0x1400b3c54
mov rcx, qword [r15 + 0x28]
lea rdx, str.._AU__pair_V__basic_string_DU__char_traits_D_blz__V__allocator_D_2__blz__V12__blz__
xor r9d, r9d
lea r8d, [r9 - 6]
call fcn.140025f00
movabs r10, 0x7fffffffffffffff
mov qword [r15 + 0x28], r12
and qword [r15 + 0x38], r10
mov rax, qword [r15 + 0x30]
lea rdi, [rax + rax*4]
shl rdi, 4
add rdi, qword [r15 + 0x28]
je 0x1400b3c91
lea rdx, [rbp - 0x31]
mov rcx, rdi
call fcn.1400030e0
lea rcx, [rdi + 0x28]
lea rdx, [rbp - 9]
call fcn.1400030e0
inc qword [r15 + 0x30]
movabs rdi, 0x8000000000000000
test qword [rbp + 7], rdi
jne 0x1400b3cbc
mov rcx, qword [rbp - 9]
lea rdx, [0x1401262a0]
xor r9d, r9d
lea r8d, [r9 - 6]
call fcn.140025f00
test qword [rbp - 0x21], rdi
jne 0x1400b3cd9
mov rcx, qword [rbp - 0x31]
lea rdx, [0x1401262a0]
xor r9d, r9d
lea r8d, [r9 - 6]
call fcn.140025f00
test qword [rbp - 0x79], rdi
jne 0x1400b3cf7
mov rcx, qword [rsp + 0x40]
lea rdx, [0x1401262a0]
xor r9d, r9d
lea r8d, [r9 - 6]
call fcn.140025f00
test qword [rbp - 0x51], rdi
jne 0x1400b3d1e
mov rcx, qword [rbp - 0x61]
lea rdx, [0x1401262a0]
xor r9d, r9d
lea r8d, [r9 - 6]
call fcn.140025f00
jmp 0x1400b3d1e
test eax, eax
jne 0x1400b3a2d
mov rcx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x30]
mov r9, qword [rbp + 0x77]
add rax, r13
add rcx, rax
mov qword [rsp + 0x38], rcx
cmp rcx, r9
jae 0x1400b3d4e
mov rax, qword [rsp + 0x30]
mov r8, qword [rbp - 0x39]
mov rdx, qword [rbp + 0x6f]
jmp 0x1400b3950
xor eax, eax
mov rbx, qword [rsp + 0x130]
add rsp, 0xf0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret