Function at 0x14003ba40
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 [0x1400a1080]
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.14003d050
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 0x14003c364
mov rcx, rdi
call fcn.14003c450
test al, al
je 0x14003c364
xorps xmm0, xmm0
movss dword [rbp - 0x79], xmm0
mov qword [rbp - 0x71], rbx
mov qword [rbp - 0x69], rbx
lea ecx, [rbx + 0x38]
call fcn.1400520b8
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 [0x140094400]
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, [0x140093d84]
lea rcx, [rbp - 0x29]
call fcn.140006ee0
nop
lea r8, [rbp - 0x29]
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x79]
call fcn.14003dd10
mov rcx, qword [rax]
movabs r14, 0x7ff0000000000000
mov qword [rcx + 0x30], r14
mov rdx, qword [rbp - 0x11]
cmp rdx, 0x10
jb 0x14003bbe1
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003bbdc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003c3f6
call fcn.1400520b0
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.14003dd10
mov rcx, qword [rax]
mov qword [rcx + 0x30], r14
mov rdx, qword [rbp - 0x11]
cmp rdx, 0x10
jb 0x14003bc60
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003bc5b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003c3fc
call fcn.1400520b0
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.14003dd10
mov rcx, qword [rax]
movabs r12, 0xfff0000000000000
mov qword [rcx + 0x30], r12
mov rdx, qword [rbp - 0x11]
cmp rdx, 0x10
jb 0x14003bce9
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003bce4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003c402
call fcn.1400520b0
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.INFINITY
lea rcx, [rbp - 0x29]
call fcn.140006ee0
nop
lea r8, [rbp - 0x29]
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x79]
call fcn.14003dd10
mov rcx, qword [rax]
mov qword [rcx + 0x30], r14
mov rdx, qword [rbp - 0x11]
cmp rdx, 0x10
jb 0x14003bd68
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003bd63
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003c408
call fcn.1400520b0
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, [0x140093d98]
lea rcx, [rbp - 0x29]
call fcn.140006ee0
nop
lea r8, [rbp - 0x29]
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x79]
call fcn.14003dd10
mov rcx, qword [rax]
mov qword [rcx + 0x30], r14
mov rdx, qword [rbp - 0x11]
cmp rdx, 0x10
jb 0x14003bde7
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003bde2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003c40e
call fcn.1400520b0
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.14003dd10
mov rcx, qword [rax]
mov qword [rcx + 0x30], r12
mov rdx, qword [rbp - 0x11]
cmp rdx, 0x10
jb 0x14003be66
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003be61
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003c414
call fcn.1400520b0
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, [0x140093db4]
lea rcx, [rbp - 0x29]
call fcn.140006ee0
nop
lea r8, [rbp - 0x29]
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x79]
call fcn.14003dd10
mov rcx, qword [rax]
movabs rdi, 0x7ff8000000000000
mov qword [rcx + 0x30], rdi
mov rdx, qword [rbp - 0x11]
cmp rdx, 0x10
jb 0x14003beef
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003beea
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003c41a
call fcn.1400520b0
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.14003dd10
mov rcx, qword [rax]
mov qword [rcx + 0x30], rdi
mov rdx, qword [rbp - 0x11]
cmp rdx, 0x10
jb 0x14003bf6e
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003bf69
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003c420
call fcn.1400520b0
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.14003dd10
mov rcx, qword [rax]
movabs rsi, 0xfff8000000000000
mov qword [rcx + 0x30], rsi
mov rdx, qword [rbp - 0x11]
cmp rdx, 0x10
jb 0x14003bff7
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003bff2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003c426
call fcn.1400520b0
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.14003dd10
mov rcx, qword [rax]
mov qword [rcx + 0x30], r14
mov rdx, qword [rbp - 0x11]
cmp rdx, 0x10
jb 0x14003c079
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003c074
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003c42c
call fcn.1400520b0
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.14003dd10
mov rcx, qword [rax]
mov qword [rcx + 0x30], r12
mov rdx, qword [rbp - 0x11]
cmp rdx, 0x10
jb 0x14003c0f8
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003c0f3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003c432
call fcn.1400520b0
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.14003dd10
mov rcx, qword [rax]
mov qword [rcx + 0x30], rdi
mov rdx, qword [rbp - 0x11]
cmp rdx, 0x10
jb 0x14003c177
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003c172
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003c438
call fcn.1400520b0
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.14003dd10
mov rcx, qword [rax]
mov qword [rcx + 0x30], rsi
mov rdx, qword [rbp - 0x11]
cmp rdx, 0x10
jb 0x14003c1f6
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003c1f1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003c43e
call fcn.1400520b0
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 0x14003c250
sub r14, rdi
mov rsi, rax
movsx ecx, byte [rdi]
call fcn.140063920
mov byte [rdi + r14], al
inc rdi
cmp rdi, rsi
jne 0x14003c230
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 0x14003c293
movabs r8, 0x100000001b3
nop word [rax + rax]
movzx eax, byte [rbx + rdx]
xor rcx, rax
imul rcx, r8
inc rbx
cmp rbx, rsi
jb 0x14003c280
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 0x14003c32a
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 0x14003c2d2
mov rdx, qword [rdx]
lea rcx, [rbp - 9]
cmp r13, 0x10
cmovae rcx, r12
cmp rsi, rax
jne 0x14003c2ef
mov r8, rsi
call fcn.140054a20
test eax, eax
je 0x14003c2fa
cmp rbx, rdi
je 0x14003c32a
mov rbx, qword [rbx + 8]
jmp 0x14003c2c0
test rbx, rbx
je 0x14003c32a
cmp rbx, r14
je 0x14003c32a
lea r8, [rbp - 9]
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x79]
call fcn.14003da30
mov rcx, qword [rax]
mov rax, qword [rcx + 0x30]
mov rcx, qword [rbp - 0x31]
mov qword [rcx], rax
mov rdi, qword [rbp - 0x39]
jmp 0x14003c359
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 0x14003c38f
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 0x14003c3c6
inc rdx
mov rcx, qword [rbp - 9]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003c3c1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003c3f0
call fcn.1400520b0
mov rax, rdi
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.140052090
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.1400622c8
nop
call fcn.1400622c8
nop
call fcn.1400622c8
int3
call fcn.1400622c8
int3
call fcn.1400622c8
int3
call fcn.1400622c8
int3
call fcn.1400622c8
int3
call fcn.1400622c8
int3
call fcn.1400622c8
int3
call fcn.1400622c8
int3
call fcn.1400622c8
int3
call fcn.1400622c8
int3
call fcn.1400622c8
int3
call fcn.1400622c8
int3