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

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xe0
mov rax, qword [0x1400a3080]
xor rax, rsp
mov qword [rbp + 0x17], rax
mov qword [rbp - 0x31], rdx
mov rdi, rcx
mov qword [rbp - 0x39], rcx
xor ebx, ebx
mov qword [rbp - 9], rbx
mov qword [rbp + 7], rbx
mov qword [rbp + 0xf], 0xf
mov byte [rbp - 9], bl
mov rdx, qword [rcx]
mov rax, qword [rdx]
movsxd rcx, dword [rax + 4]
add rcx, rdx
mov edx, 4
cmp qword [rcx + 0x48], rbx
cmovne edx, ebx
xor r8d, r8d
call fcn.140001d60
xorps xmm0, xmm0
xor eax, eax
mov qword [rbp - 0x19], rax
movaps xmmword [rsp + 0x20], xmm0
movsd xmm0, qword [rbp - 0x19]
movsd qword [rsp + 0x30], xmm0
lea rdx, [rsp + 0x20]
mov rcx, qword [rdi]
call fcn.14003d2c0
lea rdx, [rbp - 9]
mov rcx, qword [rdi]
call fcn.140008eb0
mov rcx, qword [rax]
movsxd rdx, dword [rcx + 4]
test byte [rdx + rax + 0x10], 6
jne 0x14003c5d4
mov rcx, rdi
call fcn.14003c6c0
test al, al
je 0x14003c5d4
xorps xmm0, xmm0
movss dword [rbp - 0x79], xmm0
mov qword [rbp - 0x71], rbx
mov qword [rbp - 0x69], rbx
lea ecx, [rbx + 0x38]
call fcn.140052e38
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rbp - 0x71], rax
mov qword [rbp - 0x61], rbx
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x59], xmm0
mov qword [rbp - 0x49], 7
mov qword [rbp - 0x41], 8
movss xmm0, dword [0x14009540c]
movss dword [rbp - 0x79], xmm0
mov r8, rax
lea edx, [rbx + 0x10]
lea rcx, [rbp - 0x61]
call fcn.140007130
nop
mov qword [rbp - 0x29], rbx
mov qword [rbp - 0x19], rbx
mov qword [rbp - 0x11], 0xf
mov byte [rbp - 0x29], bl
lea r8d, [rbx + 3]
lea rdx, [0x140094d8c]
lea rcx, [rbp - 0x29]
call fcn.140006ee0
nop
lea r8, [rbp - 0x29]
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x79]
call fcn.14003df80
mov rcx, qword [rax]
movabs r14, 0x7ff0000000000000
mov qword [rcx + 0x30], r14
mov rdx, qword [rbp - 0x11]
cmp rdx, 0x10
jb 0x14003be51
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003be4c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003c666
call fcn.140052e30
mov qword [rbp - 0x29], rbx
mov qword [rbp - 0x19], rbx
mov qword [rbp - 0x11], 0xf
mov byte [rbp - 0x29], 0
mov r8d, 4
lea rdx, str.INF
lea rcx, [rbp - 0x29]
call fcn.140006ee0
nop
lea r8, [rbp - 0x29]
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x79]
call fcn.14003df80
mov rcx, qword [rax]
mov qword [rcx + 0x30], r14
mov rdx, qword [rbp - 0x11]
cmp rdx, 0x10
jb 0x14003bed0
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003becb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003c66c
call fcn.140052e30
mov qword [rbp - 0x29], rbx
mov qword [rbp - 0x19], rbx
mov qword [rbp - 0x11], 0xf
mov byte [rbp - 0x29], 0
mov r8d, 4
lea rdx, str._INF
lea rcx, [rbp - 0x29]
call fcn.140006ee0
nop
lea r8, [rbp - 0x29]
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x79]
call fcn.14003df80
mov rcx, qword [rax]
movabs r12, 0xfff0000000000000
mov qword [rcx + 0x30], r12
mov rdx, qword [rbp - 0x11]
cmp rdx, 0x10
jb 0x14003bf59
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003bf54
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003c672
call fcn.140052e30
mov qword [rbp - 0x29], rbx
mov qword [rbp - 0x19], rbx
mov qword [rbp - 0x11], 0xf
mov byte [rbp - 0x29], 0
mov r8d, 8
lea rdx, [0x140094d90]
lea rcx, [rbp - 0x29]
call fcn.140006ee0
nop
lea r8, [rbp - 0x29]
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x79]
call fcn.14003df80
mov rcx, qword [rax]
mov qword [rcx + 0x30], r14
mov rdx, qword [rbp - 0x11]
cmp rdx, 0x10
jb 0x14003bfd8
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003bfd3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003c678
call fcn.140052e30
mov qword [rbp - 0x29], rbx
mov qword [rbp - 0x19], rbx
mov qword [rbp - 0x11], 0xf
mov byte [rbp - 0x29], 0
mov r8d, 9
lea rdx, str.INFINITY
lea rcx, [rbp - 0x29]
call fcn.140006ee0
nop
lea r8, [rbp - 0x29]
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x79]
call fcn.14003df80
mov rcx, qword [rax]
mov qword [rcx + 0x30], r14
mov rdx, qword [rbp - 0x11]
cmp rdx, 0x10
jb 0x14003c057
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003c052
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003c67e
call fcn.140052e30
mov qword [rbp - 0x29], rbx
mov qword [rbp - 0x19], rbx
mov qword [rbp - 0x11], 0xf
mov byte [rbp - 0x29], 0
mov r8d, 9
lea rdx, str._INFINITY
lea rcx, [rbp - 0x29]
call fcn.140006ee0
nop
lea r8, [rbp - 0x29]
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x79]
call fcn.14003df80
mov rcx, qword [rax]
mov qword [rcx + 0x30], r12
mov rdx, qword [rbp - 0x11]
cmp rdx, 0x10
jb 0x14003c0d6
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003c0d1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003c684
call fcn.140052e30
mov qword [rbp - 0x29], rbx
mov qword [rbp - 0x19], rbx
mov qword [rbp - 0x11], 0xf
mov byte [rbp - 0x29], 0
mov r8d, 3
lea rdx, [0x140094dcc]
lea rcx, [rbp - 0x29]
call fcn.140006ee0
nop
lea r8, [rbp - 0x29]
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x79]
call fcn.14003df80
mov rcx, qword [rax]
movabs rdi, 0x7ff8000000000000
mov qword [rcx + 0x30], rdi
mov rdx, qword [rbp - 0x11]
cmp rdx, 0x10
jb 0x14003c15f
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003c15a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003c68a
call fcn.140052e30
mov qword [rbp - 0x29], rbx
mov qword [rbp - 0x19], rbx
mov qword [rbp - 0x11], 0xf
mov byte [rbp - 0x29], 0
mov r8d, 4
lea rdx, str.NAN
lea rcx, [rbp - 0x29]
call fcn.140006ee0
nop
lea r8, [rbp - 0x29]
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x79]
call fcn.14003df80
mov rcx, qword [rax]
mov qword [rcx + 0x30], rdi
mov rdx, qword [rbp - 0x11]
cmp rdx, 0x10
jb 0x14003c1de
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003c1d9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003c690
call fcn.140052e30
mov qword [rbp - 0x29], rbx
mov qword [rbp - 0x19], rbx
mov qword [rbp - 0x11], 0xf
mov byte [rbp - 0x29], 0
mov r8d, 4
lea rdx, str._NAN
lea rcx, [rbp - 0x29]
call fcn.140006ee0
nop
lea r8, [rbp - 0x29]
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x79]
call fcn.14003df80
mov rcx, qword [rax]
movabs rsi, 0xfff8000000000000
mov qword [rcx + 0x30], rsi
mov rdx, qword [rbp - 0x11]
cmp rdx, 0x10
jb 0x14003c267
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003c262
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003c696
call fcn.140052e30
mov qword [rbp - 0x29], rbx
mov qword [rbp - 0x19], rbx
mov qword [rbp - 0x11], 0xf
mov byte [rbp - 0x29], 0
mov r15d, 6
mov r8d, r15d
lea rdx, str.1.INF
lea rcx, [rbp - 0x29]
call fcn.140006ee0
nop
lea r8, [rbp - 0x29]
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x79]
call fcn.14003df80
mov rcx, qword [rax]
mov qword [rcx + 0x30], r14
mov rdx, qword [rbp - 0x11]
cmp rdx, 0x10
jb 0x14003c2e9
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003c2e4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003c69c
call fcn.140052e30
mov qword [rbp - 0x29], rbx
mov qword [rbp - 0x19], rbx
mov qword [rbp - 0x11], 0xf
mov byte [rbp - 0x29], 0
mov r8d, 7
lea rdx, str._1.INF
lea rcx, [rbp - 0x29]
call fcn.140006ee0
nop
lea r8, [rbp - 0x29]
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x79]
call fcn.14003df80
mov rcx, qword [rax]
mov qword [rcx + 0x30], r12
mov rdx, qword [rbp - 0x11]
cmp rdx, 0x10
jb 0x14003c368
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003c363
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003c6a2
call fcn.140052e30
mov qword [rbp - 0x29], rbx
mov qword [rbp - 0x19], rbx
mov qword [rbp - 0x11], 0xf
mov byte [rbp - 0x29], 0
mov r8d, 7
lea rdx, str.1.QNAN
lea rcx, [rbp - 0x29]
call fcn.140006ee0
nop
lea r8, [rbp - 0x29]
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x79]
call fcn.14003df80
mov rcx, qword [rax]
mov qword [rcx + 0x30], rdi
mov rdx, qword [rbp - 0x11]
cmp rdx, 0x10
jb 0x14003c3e7
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003c3e2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003c6a8
call fcn.140052e30
mov qword [rbp - 0x29], rbx
mov qword [rbp - 0x19], rbx
mov qword [rbp - 0x11], 0xf
mov byte [rbp - 0x29], 0
mov r8d, 8
lea rdx, str._1.QNAN
lea rcx, [rbp - 0x29]
call fcn.140006ee0
nop
lea r8, [rbp - 0x29]
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x79]
call fcn.14003df80
mov rcx, qword [rax]
mov qword [rcx + 0x30], rsi
mov rdx, qword [rbp - 0x11]
cmp rdx, 0x10
jb 0x14003c466
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003c461
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003c6ae
call fcn.140052e30
lea r14, [rbp - 9]
mov r12, qword [rbp - 9]
mov r13, qword [rbp + 0xf]
cmp r13, 0x10
cmovae r14, r12
lea rax, [rbp - 9]
cmovae rax, r12
mov rsi, qword [rbp + 7]
add rax, rsi
lea rdi, [rbp - 9]
cmp r13, 0x10
cmovae rdi, r12
cmp rdi, rax
je 0x14003c4c0
sub r14, rdi
mov rsi, rax
movsx ecx, byte [rdi]
call fcn.1400646a0
mov byte [rdi + r14], al
inc rdi
cmp rdi, rsi
jne 0x14003c4a0
mov r13, qword [rbp + 0xf]
mov rsi, qword [rbp + 7]
mov r12, qword [rbp - 9]
lea rdx, [rbp - 9]
cmp r13, 0x10
cmovae rdx, r12
movabs rcx, 0xcbf29ce484222325
test rsi, rsi
je 0x14003c503
movabs r8, 0x100000001b3
nop word [rax + rax]
movzx eax, byte [rbx + rdx]
xor rcx, rax
imul rcx, r8
inc rbx
cmp rbx, rsi
jb 0x14003c4f0
mov rax, qword [rbp - 0x49]
and rax, rcx
add rax, rax
mov rdi, qword [rbp - 0x61]
mov rbx, qword [rdi + rax*8 + 8]
mov r14, qword [rbp - 0x71]
cmp rbx, r14
je 0x14003c59a
mov rdi, qword [rdi + rax*8]
nop dword [rax]
nop word [rax + rax]
lea rdx, [rbx + 0x10]
mov rax, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x14003c542
mov rdx, qword [rdx]
lea rcx, [rbp - 9]
cmp r13, 0x10
cmovae rcx, r12
cmp rsi, rax
jne 0x14003c55f
mov r8, rsi
call fcn.1400557a0
test eax, eax
je 0x14003c56a
cmp rbx, rdi
je 0x14003c59a
mov rbx, qword [rbx + 8]
jmp 0x14003c530
test rbx, rbx
je 0x14003c59a
cmp rbx, r14
je 0x14003c59a
lea r8, [rbp - 9]
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x79]
call fcn.14003dca0
mov rcx, qword [rax]
mov rax, qword [rcx + 0x30]
mov rcx, qword [rbp - 0x31]
mov qword [rcx], rax
mov rdi, qword [rbp - 0x39]
jmp 0x14003c5c9
mov rdi, qword [rbp - 0x39]
mov r8, qword [rdi]
mov rax, qword [r8]
movsxd rcx, dword [rax + 4]
add rcx, r8
mov eax, 2
cmp qword [rcx + 0x48], 0
cmovne r15d, eax
or r15d, dword [rcx + 0x10]
xor r8d, r8d
mov edx, r15d
call fcn.140001d60
nop
lea rcx, [rbp - 0x79]
call fcn.140002420
jmp 0x14003c5ff
mov rdx, qword [rdi]
mov rax, qword [rdx]
movsxd rcx, dword [rax + 4]
add rcx, rdx
mov edx, 6
mov eax, 2
cmp qword [rcx + 0x48], 0
cmovne edx, eax
or edx, dword [rcx + 0x10]
xor r8d, r8d
call fcn.140001d60
nop
mov rdx, qword [rbp + 0xf]
cmp rdx, 0x10
jb 0x14003c636
inc rdx
mov rcx, qword [rbp - 9]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003c631
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003c660
call fcn.140052e30
mov rax, rdi
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.140052e10
mov rbx, qword [rsp + 0x130]
add rsp, 0xe0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.140063048
nop
call fcn.140063048
nop
call fcn.140063048
int3
call fcn.140063048
int3
call fcn.140063048
int3
call fcn.140063048
int3
call fcn.140063048
int3
call fcn.140063048
int3
call fcn.140063048
int3
call fcn.140063048
int3
call fcn.140063048
int3
call fcn.140063048
int3
call fcn.140063048
int3
call fcn.140063048
int3