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

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov rsi, r9
mov rbx, r8
mov r13, rdx
mov rbp, rcx
lea rax, [rcx + 8]
mov qword [rsp + 0x30], rax
xor r15d, r15d
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x38], r15
lea ecx, [r15 + 0x38]
call fcn.140038ccc
mov r14, rax
mov qword [rsp + 0x38], rax
lea rdi, [rax + 0x10]
mov qword [rsp + 0x20], rdi
mov rdx, qword [rbx]
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rdi], xmm0
mov qword [rdi + 0x10], r15
mov qword [rdi + 0x18], r15
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x140025840
mov rcx, rdi
call fcn.1400266e0
nop
movzx eax, byte [rsi]
mov byte [rdi + 0x20], al
mov r8, qword [rdi + 0x10]
mov rdx, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x14002586a
mov rdx, qword [rdi]
movabs rsi, 0xcbf29ce484222325
mov rcx, r15
test r8, r8
je 0x1400258a3
movabs r9, 0x100000001b3
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
xor rsi, rax
imul rsi, r9
inc rcx
cmp rcx, r8
jb 0x140025890
mov r9, rsi
mov r8, rdi
lea rdx, [rsp + 0x20]
mov rcx, rbp
call fcn.140025bf0
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140025937
mov qword [r13], rax
mov byte [r13 + 8], 0
test r14, r14
je 0x14002591c
mov qword [rsp + 0x20], rdi
mov rdx, qword [rdi + 0x18]
cmp rdx, 0xf
jbe 0x14002590d
mov rcx, qword [rdi]
inc rdx
cmp rdx, 0x1000
jb 0x140025908
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140025b3e
mov rcx, r8
call fcn.140038c50
mov qword [rdi + 0x10], r15
mov qword [rdi + 0x18], 0xf
mov byte [rdi], 0
test r14, r14
je 0x140025b16
mov edx, 0x38
mov rcx, r14
call fcn.140038c50
jmp 0x140025b16
mov rcx, qword [rbp + 0x10]
movabs rax, 0x492492492492492
cmp rcx, rax
je 0x140025b31
vmovss xmm2, dword [rbp]
add rcx, 1
vxorps xmm1, xmm1, xmm1
js 0x140025964
vcvtsi2ss xmm1, xmm1, rcx
jmp 0x140025979
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
vcvtsi2ss xmm1, xmm1, rax
vaddss xmm1, xmm1, xmm1
mov rdx, qword [rbp + 0x38]
vxorps xmm0, xmm0, xmm0
test rdx, rdx
js 0x14002598d
vcvtsi2ss xmm0, xmm0, rdx
jmp 0x1400259a5
mov rcx, rdx
shr rcx, 1
mov rax, rdx
and eax, 1
or rcx, rax
vcvtsi2ss xmm0, xmm0, rcx
vaddss xmm0, xmm0, xmm0
vdivss xmm0, xmm1, xmm0
vcomiss xmm0, xmm2
jbe 0x140025ab8
vdivss xmm0, xmm1, xmm2
vxorps xmm1, xmm1, xmm1
vroundss xmm1, xmm1, xmm0, 2
xor ecx, ecx
vmovss xmm0, dword [0x1400723d8]
vcomiss xmm1, xmm0
jb 0x1400259e8
vsubss xmm1, xmm1, xmm0
vcomiss xmm1, xmm0
jae 0x1400259e8
movabs rax, 0x8000000000000000
mov rcx, rax
vcvttss2si rax, xmm1
add rax, rcx
mov ecx, 8
cmp rax, rcx
cmova rcx, rax
cmp rdx, rcx
jae 0x140025a1a
cmp rdx, 0x200
jae 0x140025a17
lea rdx, [rdx*8]
cmp rdx, rcx
jae 0x140025a1a
mov rdx, rcx
mov rcx, rbp
call fcn.140028740
mov rax, qword [rbp + 0x30]
and rax, rsi
add rax, rax
mov r12, qword [rbp + 0x18]
mov rbx, qword [r12 + rax*8 + 8]
mov rcx, qword [rbp + 8]
cmp rbx, rcx
jne 0x140025a45
mov qword [rsp + 0x20], rcx
jmp 0x140025aa7
mov r12, qword [r12 + rax*8]
mov r15, qword [r14 + 0x20]
nop dword [rax]
lea rdx, [rbx + 0x10]
mov rax, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x140025a62
mov rdx, qword [rdx]
lea rcx, [r14 + 0x10]
cmp qword [r14 + 0x28], 0xf
jbe 0x140025a71
mov rcx, qword [r14 + 0x10]
cmp r15, rax
jne 0x140025a82
mov r8, r15
call fcn.140059280
test eax, eax
je 0x140025a8d
cmp rbx, r12
je 0x140025a9f
mov rbx, qword [rbx + 8]
jmp 0x140025a50
mov rax, qword [rbx]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], rbx
xor r15d, r15d
jmp 0x140025aac
mov qword [rsp + 0x20], rbx
xor r15d, r15d
mov qword [rsp + 0x28], r15
vmovups xmm0, xmmword [rsp + 0x20]
vmovdqa xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x38], r15
mov rdx, qword [rsp + 0x20]
mov r8, qword [rdx + 8]
inc qword [rbp + 0x10]
mov qword [r14], rdx
mov qword [r14 + 8], r8
mov qword [r8], r14
mov qword [rdx + 8], r14
mov rcx, qword [rbp + 0x18]
mov rax, qword [rbp + 0x30]
and rax, rsi
add rax, rax
mov r9, qword [rcx + rax*8]
cmp r9, qword [rbp + 8]
jne 0x140025af6
mov qword [rcx + rax*8], r14
jmp 0x140025b08
cmp r9, rdx
jne 0x140025b01
mov qword [rcx + rax*8], r14
jmp 0x140025b0d
cmp qword [rcx + rax*8 + 8], r8
jne 0x140025b0d
mov qword [rcx + rax*8 + 8], r14
mov qword [r13], r14
mov byte [r13 + 8], 1
mov rax, r13
mov rbx, qword [rsp + 0x98]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea rcx, str.unordered_map_set_too_long
call fcn.14003a438
nop
call fcn.14004538c
int3