Function at 0x14003c8b0
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 0x14003d1d2
mov rcx, rdi
call fcn.14003c6c0
test al, al
je 0x14003d1d2
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.14003d9a0
mov rcx, qword [rax]
mov dword [rcx + 0x30], 0x7f800000
mov rdx, qword [rbp - 0x11]
cmp rdx, 0x10
jb 0x14003ca4a
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003ca45
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003d264
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.14003d9a0
mov rcx, qword [rax]
mov dword [rcx + 0x30], 0x7f800000
mov rdx, qword [rbp - 0x11]
cmp rdx, 0x10
jb 0x14003cacc
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003cac7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003d26a
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.14003d9a0
mov rcx, qword [rax]
mov dword [rcx + 0x30], 0xff800000
mov rdx, qword [rbp - 0x11]
cmp rdx, 0x10
jb 0x14003cb4e
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003cb49
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003d270
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.14003d9a0
mov rcx, qword [rax]
mov dword [rcx + 0x30], 0x7f800000
mov rdx, qword [rbp - 0x11]
cmp rdx, 0x10
jb 0x14003cbd0
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003cbcb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003d276
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.14003d9a0
mov rcx, qword [rax]
mov dword [rcx + 0x30], 0x7f800000
mov rdx, qword [rbp - 0x11]
cmp rdx, 0x10
jb 0x14003cc52
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003cc4d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003d27c
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.14003d9a0
mov rcx, qword [rax]
mov dword [rcx + 0x30], 0xff800000
mov rdx, qword [rbp - 0x11]
cmp rdx, 0x10
jb 0x14003ccd4
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003cccf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003d282
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.14003d9a0
mov rcx, qword [rax]
mov dword [rcx + 0x30], 0x7fc00000
mov rdx, qword [rbp - 0x11]
cmp rdx, 0x10
jb 0x14003cd56
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003cd51
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003d288
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.14003d9a0
mov rcx, qword [rax]
mov dword [rcx + 0x30], 0x7fc00000
mov rdx, qword [rbp - 0x11]
cmp rdx, 0x10
jb 0x14003cdd8
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003cdd3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003d28e
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.14003d9a0
mov rcx, qword [rax]
mov dword [rcx + 0x30], 0xffc00000
mov rdx, qword [rbp - 0x11]
cmp rdx, 0x10
jb 0x14003ce5a
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003ce55
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003d294
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.14003d9a0
mov rcx, qword [rax]
mov dword [rcx + 0x30], 0x7f800000
mov rdx, qword [rbp - 0x11]
cmp rdx, 0x10
jb 0x14003cedf
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003ceda
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003d29a
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.14003d9a0
mov rcx, qword [rax]
mov dword [rcx + 0x30], 0xff800000
mov rdx, qword [rbp - 0x11]
cmp rdx, 0x10
jb 0x14003cf61
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003cf5c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003d2a0
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.14003d9a0
mov rcx, qword [rax]
mov dword [rcx + 0x30], 0x7fc00000
mov rdx, qword [rbp - 0x11]
cmp rdx, 0x10
jb 0x14003cfe3
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003cfde
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003d2a6
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.14003d9a0
mov rcx, qword [rax]
mov dword [rcx + 0x30], 0xffc00000
mov rdx, qword [rbp - 0x11]
cmp rdx, 0x10
jb 0x14003d065
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003d060
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003d2ac
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 0x14003d0c0
sub r14, rdi
mov rsi, rax
nop
movsx ecx, byte [rdi]
call fcn.1400646a0
mov byte [rdi + r14], al
inc rdi
cmp rdi, rsi
jne 0x14003d0a0
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 0x14003d103
movabs r8, 0x100000001b3
nop word [rax + rax]
movzx eax, byte [rbx + rdx]
xor rcx, rax
imul rcx, r8
inc rbx
cmp rbx, rsi
jb 0x14003d0f0
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 0x14003d198
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 0x14003d142
mov rdx, qword [rdx]
lea rcx, [rbp - 9]
cmp r13, 0x10
cmovae rcx, r12
cmp rsi, rax
jne 0x14003d15f
mov r8, rsi
call fcn.1400557a0
test eax, eax
je 0x14003d16a
cmp rbx, rdi
je 0x14003d198
mov rbx, qword [rbx + 8]
jmp 0x14003d130
test rbx, rbx
je 0x14003d198
cmp rbx, r14
je 0x14003d198
lea r8, [rbp - 9]
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x79]
call fcn.14003d6c0
mov rcx, qword [rax]
mov eax, dword [rcx + 0x30]
mov rcx, qword [rbp - 0x31]
mov dword [rcx], eax
mov rdi, qword [rbp - 0x39]
jmp 0x14003d1c7
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 0x14003d1fd
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 0x14003d234
inc rdx
mov rcx, qword [rbp - 9]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003d22f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003d25e
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