Function at 0x140063110
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
sub rsp, 0x40
mov rax, qword [0x1405e9138]
xor rax, rsp
mov qword [rsp + 0x30], rax
mov rdi, rdx
mov rbx, rcx
movzx edx, word [rcx + 0xe]
mov eax, edx
and eax, 7
cmp eax, 5
ja case.default.0x14006315f
lea r8, [0x140000000]
cdqe
mov ecx, dword [r8 + rax*4 + 0x63768]
add rcx, r8
jmp rcx
mov rcx, qword [rdi + 0x18]
lea rax, [rcx + 8]
cmp rax, qword [rdi + 0x20]
jbe 0x14006317b
mov rcx, rdi
call fcn.140068560
mov rcx, qword [rdi + 0x18]
lea rax, [rcx + 8]
mov qword [rdi + 0x18], rax
movabs rax, 0x789e9d398d40976c
mov qword [rcx], rax
jmp 0x140063740
mov rcx, qword [rdi + 0x18]
lea rax, [rcx + 8]
cmp rax, qword [rdi + 0x20]
jbe 0x1400631af
mov rcx, rdi
call fcn.140068560
mov rcx, qword [rdi + 0x18]
lea rax, [rcx + 8]
mov qword [rdi + 0x18], rax
movabs rax, 0x789e9e398d40991f
mov qword [rcx], rax
jmp 0x140063740
mov rcx, qword [rdi + 0x18]
lea rax, [rcx + 8]
cmp rax, qword [rdi + 0x20]
jbe 0x1400631e3
mov rcx, rdi
call fcn.140068560
mov rcx, qword [rdi + 0x18]
lea rax, [rcx + 8]
mov qword [rdi + 0x18], rax
movabs rax, 0x789e9f398d409ad2
mov qword [rcx], rax
jmp 0x140063740
mov r9d, dword [rbx]
movabs r13, 0xffffffffffff
mov rax, qword [rbx + 8]
mov ecx, r9d
shl rcx, 5
and rax, r13
add rcx, rax
xor esi, esi
movabs rbp, 0x100000001b3
cmp rax, rcx
je 0x1400632ed
lea r15, [rax + 0xd]
movabs r12, 0x789e9a398d409253
mov eax, 0x1000
lea ecx, [rsi + 0xd]
test word [r15 + 1], ax
je 0x140063259
movsx eax, byte [r15]
lea rdx, [r15 - 0xd]
sub ecx, eax
jmp 0x140063264
mov rdx, qword [r15 - 5]
mov ecx, dword [r15 - 0xd]
and rdx, r13
mov r8d, ecx
mov r14, r12
mov rcx, rsi
test r8, r8
je 0x140063285
movzx eax, byte [rdx + rcx]
inc rcx
xor r14, rax
imul r14, rbp
cmp rcx, r8
jb 0x140063272
mov rcx, qword [rdi + 0x18]
lea rax, [rcx + 8]
cmp rax, qword [rdi + 0x20]
jbe 0x14006329f
mov rcx, rdi
call fcn.140068560
mov rcx, qword [rdi + 0x18]
lea rax, [rcx + 8]
mov rdx, rdi
mov qword [rdi + 0x18], rax
mov qword [rcx], r14
lea rcx, [r15 + 3]
call fcn.140063110
test al, al
je 0x1400633f6
mov r9d, dword [rbx]
add r15, 0x20
mov rax, qword [rbx + 8]
mov ecx, r9d
and rax, r13
shl rcx, 5
add rcx, rax
lea rax, [r15 - 0xd]
cmp rax, rcx
mov ecx, 0xd
mov eax, 0x1000
jne 0x140063246
lea ecx, [r9 + r9]
movabs rbx, 0x30000000519
neg rcx
shl rcx, 3
add qword [rdi + 0x18], rcx
mov r8, qword [rdi + 0x18]
test r9d, r9d
je 0x14006332e
nop
lea ecx, [rsi + rsi]
inc esi
mov eax, ecx
lea edx, [rcx + 1]
mov rcx, qword [r8 + rdx*8]
xor rcx, qword [r8 + rax*8]
imul rcx, rbp
xor rbx, rcx
cmp esi, r9d
jb 0x140063310
lea rax, [r8 + 8]
cmp rax, qword [rdi + 0x20]
jbe 0x140063344
mov rcx, rdi
call fcn.140068560
mov r8, qword [rdi + 0x18]
lea rax, [r8 + 8]
mov qword [rdi + 0x18], rax
mov qword [r8], rbx
jmp 0x140063740
mov ecx, dword [rbx]
movabs r13, 0xffffffffffff
mov rsi, qword [rbx + 8]
mov eax, ecx
shl rax, 4
and rsi, r13
add rax, rsi
cmp rsi, rax
je 0x1400633a1
mov rdx, rdi
mov rcx, rsi
call fcn.140063110
test al, al
je 0x1400633f6
mov edx, dword [rbx]
add rsi, 0x10
mov rax, qword [rbx + 8]
mov ecx, edx
shl rcx, 4
and rax, r13
add rcx, rax
cmp rsi, rcx
jne 0x140063375
mov ecx, edx
mov eax, ecx
movabs rbx, 0x400000006cc
neg rax
mov edx, ecx
shl rax, 3
add qword [rdi + 0x18], rax
mov r8, qword [rdi + 0x18]
test ecx, ecx
je 0x14006332e
mov rcx, r8
movabs rbp, 0x100000001b3
nop dword [rax]
nop word [rax + rax]
xor rbx, qword [rcx]
lea rcx, [rcx + 8]
imul rbx, rbp
sub rdx, 1
jne 0x1400633e0
jmp 0x14006332e
xor al, al
jmp 0x140063742
bt dx, 0xc
jae 0x140063411
movsx eax, byte [rbx + 0xd]
mov ecx, 0xd
sub ecx, eax
jmp 0x140063424
mov ecx, dword [rbx]
movabs r13, 0xffffffffffff
mov rbx, qword [rbx + 8]
and rbx, r13
xor esi, esi
movabs r12, 0x789e9a398d409253
test rcx, rcx
je 0x140063453
movabs rbp, 0x100000001b3
nop
movzx eax, byte [rsi + rbx]
inc rsi
xor r12, rax
imul r12, rbp
cmp rsi, rcx
jb 0x140063440
mov rcx, qword [rdi + 0x18]
lea rax, [rcx + 8]
cmp rax, qword [rdi + 0x20]
jbe 0x14006346d
mov rcx, rdi
call fcn.140068560
mov rcx, qword [rdi + 0x18]
lea rax, [rcx + 8]
mov qword [rdi + 0x18], rax
mov qword [rcx], r12
jmp 0x140063740
movzx eax, dx
shr ax, 9
test al, 1
je 0x140063532
movsd xmm1, qword [rbx]
xorps xmm0, xmm0
comisd xmm0, xmm1
jbe 0x1400634a0
cvttsd2si rax, xmm1
jmp 0x1400634d2
movsd xmm2, qword [0x14057ecc0]
xor ecx, ecx
comisd xmm1, xmm2
movaps xmm0, xmm1
jb 0x1400634ca
subsd xmm0, xmm2
comisd xmm0, xmm2
jae 0x1400634ca
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rax, xmm0
add rax, rcx
movsd qword [rsp + 0x28], xmm1
movabs rbx, 0x789e9b398d409406
mov qword [rsp + 0x20], rax
xor esi, esi
movabs rbp, 0x100000001b3
movzx eax, byte [rsp + rsi + 0x20]
xor rbx, rax
movzx eax, byte [rsp + rsi + 0x21]
imul rbx, rbp
xor rbx, rax
movzx eax, byte [rsp + rsi + 0x22]
imul rbx, rbp
xor rbx, rax
movzx eax, byte [rsp + rsi + 0x23]
imul rbx, rbp
add rsi, 4
xor rbx, rax
imul rbx, rbp
cmp rsi, 0x10
jb 0x1400634f3
jmp 0x14006371b
movzx eax, dl
shr al, 5
test al, 1
je 0x1400635af
movsxd rcx, dword [rbx]
xor esi, esi
mov qword [rsp + 0x20], rcx
movabs rbx, 0x789e9b398d409406
movabs rbp, 0x100000001b3
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
movsd qword [rsp + 0x28], xmm0
nop dword [rax + rax]
movzx eax, byte [rsp + rsi + 0x20]
xor rbx, rax
movzx eax, byte [rsp + rsi + 0x21]
imul rbx, rbp
xor rbx, rax
movzx eax, byte [rsp + rsi + 0x22]
imul rbx, rbp
xor rbx, rax
movzx eax, byte [rsp + rsi + 0x23]
imul rbx, rbp
add rsi, 4
xor rbx, rax
imul rbx, rbp
cmp rsi, 0x10
jb 0x140063570
jmp 0x14006371b
movzx eax, dl
xorps xmm0, xmm0
shr al, 6
test al, 1
je 0x14006362f
mov ecx, dword [rbx]
xor esi, esi
mov qword [rsp + 0x20], rcx
movabs rbx, 0x789e9b398d409406
movabs rbp, 0x100000001b3
cvtsi2sd xmm0, rcx
movsd qword [rsp + 0x28], xmm0
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [rsp + rsi + 0x20]
xor rbx, rax
movzx eax, byte [rsp + rsi + 0x21]
imul rbx, rbp
xor rbx, rax
movzx eax, byte [rsp + rsi + 0x22]
imul rbx, rbp
xor rbx, rax
movzx eax, byte [rsp + rsi + 0x23]
imul rbx, rbp
add rsi, 4
xor rbx, rax
imul rbx, rbp
cmp rsi, 0x10
jb 0x1400635f0
jmp 0x14006371b
shr dl, 7
test dl, 1
je 0x14006369c
mov rax, qword [rbx]
xor esi, esi
mov qword [rsp + 0x20], rax
movabs rbx, 0x789e9b398d409406
movabs rbp, 0x100000001b3
cvtsi2sd xmm0, rax
movsd qword [rsp + 0x28], xmm0
movzx eax, byte [rsp + rsi + 0x20]
xor rbx, rax
movzx eax, byte [rsp + rsi + 0x21]
imul rbx, rbp
xor rbx, rax
movzx eax, byte [rsp + rsi + 0x22]
imul rbx, rbp
xor rbx, rax
movzx eax, byte [rsp + rsi + 0x23]
imul rbx, rbp
add rsi, 4
xor rbx, rax
imul rbx, rbp
cmp rsi, 0x10
jb 0x140063660
jmp 0x14006371b
mov rcx, qword [rbx]
mov qword [rsp + 0x20], rcx
test rcx, rcx
js 0x1400636b0
cvtsi2sd xmm0, rcx
jmp 0x1400636c5
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2sd xmm0, rax
addsd xmm0, xmm0
movsd qword [rsp + 0x28], xmm0
movabs rbx, 0x789e9b398d409406
xor esi, esi
movabs rbp, 0x100000001b3
movzx eax, byte [rsp + rsi + 0x20]
xor rbx, rax
movzx eax, byte [rsp + rsi + 0x21]
imul rbx, rbp
xor rbx, rax
movzx eax, byte [rsp + rsi + 0x22]
imul rbx, rbp
xor rbx, rax
movzx eax, byte [rsp + rsi + 0x23]
imul rbx, rbp
add rsi, 4
xor rbx, rax
imul rbx, rbp
cmp rsi, 0x10
jb 0x1400636e1
mov rcx, qword [rdi + 0x18]
lea rax, [rcx + 8]
cmp rax, qword [rdi + 0x20]
jbe 0x140063735
mov rcx, rdi
call fcn.140068560
mov rcx, qword [rdi + 0x18]
lea rax, [rcx + 8]
mov qword [rdi + 0x18], rax
mov qword [rcx], rbx
mov al, 1
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.1402ad1b0
mov rbx, qword [rsp + 0x90]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret