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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0x100
mov rax, qword [0x1803c57c0]
xor rax, rsp
mov qword [rbp + 0x27], rax
mov rdi, rdx
mov rbx, rcx
lea rcx, [rsp + 0x20]
call fcn.1800bc3a0
mov r8, qword [rsp + 0x20]
sub r8, qword [0x1803c73b0]
movabs rax, 0x20c49ba5e353f7cf
imul r8
sar rdx, 7
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov ecx, 0x14
mov r8, qword [0x1803c72c0]
mov rax, qword [r8 + 0xd0]
test rax, rax
je 0x1801b3c0b
mov rax, qword [rax + 0xd8]
test rax, rax
je 0x1801b3c0b
cvttss2si ecx, dword [rax]
mov eax, 1
cmp ecx, eax
cmovl ecx, eax
movsxd rcx, ecx
mov rax, rdx
cqo
idiv rcx
xorps xmm1, xmm1
cvtsi2ss xmm1, rax
divss xmm1, dword [0x180293e04]
movss dword [0x1803c8880], xmm1
comiss xmm1, dword [0x180281c9c]
jbe 0x1801b3c43
mov dword [0x1803c8880], 0x3f800000
jmp 0x1801b3c55
xorps xmm0, xmm0
comiss xmm0, xmm1
jbe 0x1801b3c55
mov dword [0x1803c8880], 0
mov qword [0x1803c8890], rbx
mov qword [0x1803c87e0], rdi
mov rcx, qword [rbx + 0x10]
mov qword [0x1803c87e8], rcx
mov rax, qword [rcx + 0xc0]
mov qword [0x1803c87f0], rax
mov rax, qword [rcx + 0x30]
mov qword [0x1803c87f8], rax
lea rcx, [r8 + 0x330]
lea rdx, [rbp - 0x19]
call fcn.1801ab180
movups xmm0, xmmword [rax]
movaps xmmword [0x1803c8800], xmm0
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [0x1803c8810], xmm1
movups xmm0, xmmword [rax + 0x20]
movaps xmmword [0x1803c8820], xmm0
movups xmm1, xmmword [rax + 0x30]
movaps xmmword [0x1803c8830], xmm1
mov rcx, qword [0x1803c72c0]
movups xmm0, xmmword [rcx + 0x6f0]
movaps xmmword [0x1803c8840], xmm0
movups xmm1, xmmword [rcx + 0x700]
movaps xmmword [0x1803c8850], xmm1
movups xmm0, xmmword [rcx + 0x710]
movaps xmmword [0x1803c8860], xmm0
movups xmm1, xmmword [rcx + 0x720]
movaps xmmword [0x1803c8870], xmm1
mov rax, qword [0x1803c87e0]
movss xmm0, dword [rax + 0x40]
movss dword [0x1803c8898], xmm0
movss xmm1, dword [rax + 0x44]
movss dword [0x1803c889c], xmm1
mov rax, qword [rcx + 0xe0]
test rax, rax
je 0x1801b3d6f
mov rax, qword [rax + 0x308]
test rax, rax
je 0x1801b3d42
add rax, 0x5fc
jmp 0x1801b3d49
lea rax, [0x180301820]
movss xmm0, dword [rax]
movss dword [0x1803c88a0], xmm0
movss xmm1, dword [rax + 4]
movss dword [0x1803c88a4], xmm1
movss xmm0, dword [rax + 8]
movss dword [0x1803c88a8], xmm0
xor ebx, ebx
lea r12, [rbx - 1]
movabs r13, 0xcbf29ce484222325
cmp qword [0x1803c88b0], rbx
jne 0x1801b3ee5
mov byte [rbp - 0x31], 0x25
mov al, 0x50
mov cl, 0x4c
mov dl, 0x7a
mov r8b, 0x43
movzx r9d, cl
mov r10b, 0x49
movzx r11d, r10b
movzx ebx, dl
mov dil, 0x46
mov sil, 0x4a
movzx r14d, r10b
movzx r15d, sil
mov r12b, 0x57
xor r13d, r13d
xor al, 0x25
mov byte [rbp - 0x30], al
xor cl, 0x25
mov byte [rbp - 0x2f], cl
xor dl, 0x25
mov byte [rbp - 0x2e], dl
xor r8b, 0x25
mov byte [rbp - 0x2d], r8b
xor r9b, 0x25
mov byte [rbp - 0x2c], r9b
xor r10b, 0x25
mov byte [rbp - 0x2b], r10b
xor r11b, 0x25
mov byte [rbp - 0x2a], r11b
xor bl, 0x25
mov byte [rbp - 0x29], bl
xor dil, 0x25
mov byte [rbp - 0x28], dil
xor sil, 0x25
mov byte [rbp - 0x27], sil
xor r14b, 0x25
mov byte [rbp - 0x26], r14b
xor r15b, 0x25
mov byte [rbp - 0x25], r15b
xor r12b, 0x25
mov byte [rbp - 0x24], r12b
mov byte [rbp - 0x23], r13b
lea rax, [rbp - 0x30]
mov r12, 0xffffffffffffffff
mov r8, r12
movabs r13, 0xcbf29ce484222325
inc r8
cmp byte [rax + r8], 0
jne 0x1801b3e36
mov rcx, r13
lea r9, [rbp - 0x30]
add r9, r8
lea rdx, [rbp - 0x30]
lea rax, [rbp - 0x30]
cmp rax, r9
je 0x1801b3e74
movabs r10, 0x100000001b3
imul rcx, r10
movsx rax, byte [rdx]
xor rcx, rax
inc rdx
cmp rdx, r9
jne 0x1801b3e61
mov qword [rbp - 0x19], rcx
xorps xmm0, xmm0
movups xmmword [rbp - 0x11], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 1], xmm1
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x11]
call fcn.1800b9f50
xor ebx, ebx
mov qword [rbp + 0xf], rbx
lea rcx, [rbp - 0x19]
call fcn.1801aa0a0
mov qword [0x1803c88b0], rax
mov rdx, qword [rbp + 7]
cmp rdx, 0xf
jbe 0x1801b3ee5
inc rdx
mov rcx, qword [rbp - 0x11]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801b3ee0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801b45fd
call fcn.1801ddb18
cmp qword [0x1803c88b8], 0
jne 0x1801b402b
mov byte [rbp - 0x51], 0x48
mov al, 0x3d
mov cl, 0x21
mov dl, 0x17
mov r8b, 0x3c
mov r9b, 0x2d
mov r10b, 0x30
movzx r11d, r8b
movzx ebx, al
mov dil, 0x3a
movzx esi, r9b
mov r14b, 0x2c
xor r15d, r15d
xor al, 0x48
mov byte [rbp - 0x50], al
xor cl, 0x48
mov byte [rbp - 0x4f], cl
xor dl, 0x48
mov byte [rbp - 0x4e], dl
xor r8b, 0x48
mov byte [rbp - 0x4d], r8b
xor r9b, 0x48
mov byte [rbp - 0x4c], r9b
xor r10b, 0x48
mov byte [rbp - 0x4b], r10b
xor r11b, 0x48
mov byte [rbp - 0x4a], r11b
xor bl, 0x48
mov byte [rbp - 0x49], bl
xor dil, 0x48
mov byte [rbp - 0x48], dil
xor sil, 0x48
mov byte [rbp - 0x47], sil
xor r14b, 0x48
mov byte [rbp - 0x46], r14b
mov byte [rbp - 0x45], r15b
lea rax, [rbp - 0x50]
mov r8, r12
inc r8
cmp byte [rax + r8], 0
jne 0x1801b3f74
mov rcx, r13
lea r9, [rbp - 0x50]
add r9, r8
lea rdx, [rbp - 0x50]
lea rax, [rbp - 0x50]
cmp rax, r9
je 0x1801b3fba
movabs r12, 0x100000001b3
nop
imul rcx, r12
movsx rax, byte [rdx]
xor rcx, rax
inc rdx
cmp rdx, r9
jne 0x1801b3fa0
mov r12, 0xffffffffffffffff
mov qword [rbp - 0x19], rcx
xorps xmm0, xmm0
movups xmmword [rbp - 0x11], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 1], xmm1
lea rdx, [rbp - 0x50]
lea rcx, [rbp - 0x11]
call fcn.1800b9f50
xor ebx, ebx
mov qword [rbp + 0xf], rbx
lea rcx, [rbp - 0x19]
call fcn.1801aa0a0
mov qword [0x1803c88b8], rax
mov rdx, qword [rbp + 7]
cmp rdx, 0xf
jbe 0x1801b402b
inc rdx
mov rcx, qword [rbp - 0x11]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801b4026
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801b4603
call fcn.1801ddb18
cmp qword [0x1803c88c0], 0
jne 0x1801b416a
movdqa xmm1, xmmword [0x180293e40]
movdqu xmmword [rsp + 0x40], xmm1
mov dl, 0x63
mov r8b, 0x7b
movdqa xmm0, xmm1
psrldq xmm0, 1
movd eax, xmm0
movd ecx, xmm1
xor al, cl
mov byte [rsp + 0x41], al
xor byte [rsp + 0x42], cl
xor byte [rsp + 0x43], cl
xor byte [rsp + 0x44], cl
xor byte [rsp + 0x45], cl
xor byte [rsp + 0x46], cl
xor byte [rsp + 0x47], cl
xor byte [rsp + 0x48], cl
xor byte [rbp - 0x80], cl
xor byte [rbp - 0x7f], cl
xor byte [rbp - 0x7e], cl
xor byte [rbp - 0x7d], cl
xor byte [rbp - 0x7c], cl
xor byte [rbp - 0x7b], cl
xor byte [rbp - 0x7a], cl
xor dl, cl
mov byte [rbp - 0x79], dl
xor r8b, cl
mov byte [rbp - 0x78], r8b
mov byte [rbp - 0x77], 0
lea rax, [rsp + 0x41]
mov r8, r12
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x1801b40b0
mov rcx, r13
lea r9, [rsp + 0x41]
add r9, r8
lea rdx, [rsp + 0x41]
lea rax, [rsp + 0x41]
cmp rax, r9
je 0x1801b40fa
movabs r12, 0x100000001b3
nop
imul rcx, r12
movsx rax, byte [rdx]
xor rcx, rax
inc rdx
cmp rdx, r9
jne 0x1801b40e0
mov r12, 0xffffffffffffffff
mov qword [rbp - 0x19], rcx
xorps xmm0, xmm0
movups xmmword [rbp - 0x11], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 1], xmm1
lea rdx, [rsp + 0x41]
lea rcx, [rbp - 0x11]
call fcn.1800b9f50
mov qword [rbp + 0xf], rbx
lea rcx, [rbp - 0x19]
call fcn.1801aa0a0
mov qword [0x1803c88c0], rax
mov rdx, qword [rbp + 7]
cmp rdx, 0xf
jbe 0x1801b416a
inc rdx
mov rcx, qword [rbp - 0x11]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801b4165
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801b4609
call fcn.1801ddb18
cmp qword [0x1803c88c8], 0
jne 0x1801b433b
movdqa xmm1, xmmword [str.K__8_9.._]
movdqu xmmword [rbp - 0x71], xmm1
mov cl, 0x14
mov dl, 0x24
mov r8b, 0x3d
mov r9b, 0x2e
mov r10b, 0x39
mov bl, 0x27
mov dil, 0x2a
mov sil, 0x32
movzx r14d, cl
mov r15b, 0x29
movzx r12d, bl
movzx r13d, r9b
movdqa xmm0, xmm1
psrldq xmm0, 1
movd eax, xmm0
movd r11d, xmm1
xor al, r11b
mov byte [rbp - 0x70], al
xor byte [rbp - 0x6f], r11b
xor byte [rbp - 0x6e], r11b
xor byte [rbp - 0x6d], r11b
xor byte [rbp - 0x6c], r11b
xor byte [rbp - 0x6b], r11b
xor byte [rbp - 0x6a], r11b
xor byte [rbp - 0x69], r11b
xor byte [rbp - 0x68], r11b
xor byte [rbp - 0x67], r11b
xor byte [rbp - 0x66], r11b
xor byte [rbp - 0x65], r11b
xor byte [rbp - 0x64], r11b
xor byte [rbp - 0x63], r11b
xor byte [rbp - 0x62], r11b
xor cl, r11b
mov byte [rbp - 0x61], cl
xor dl, r11b
mov byte [rbp - 0x60], dl
xor r8b, r11b
mov byte [rbp - 0x5f], r8b
xor r9b, r11b
mov byte [rbp - 0x5e], r9b
xor r10b, r11b
mov byte [rbp - 0x5d], r10b
xor bl, r11b
mov byte [rbp - 0x5c], bl
xor dil, r11b
mov byte [rbp - 0x5b], dil
xor sil, r11b
mov byte [rbp - 0x5a], sil
xor r14b, r11b
mov byte [rbp - 0x59], r14b
xor r15b, r11b
mov byte [rbp - 0x58], r15b
xor r12b, r11b
mov byte [rbp - 0x57], r12b
xor r13b, r11b
mov byte [rbp - 0x56], r13b
mov al, 0x25
xor al, r11b
mov byte [rbp - 0x55], al
mov al, 0x2f
xor al, r11b
mov byte [rbp - 0x54], al
mov byte [rbp - 0x53], 0
lea rax, [rbp - 0x70]
mov r12, 0xffffffffffffffff
mov r8, r12
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x1801b4270
movabs r13, 0xcbf29ce484222325
mov rcx, r13
lea r9, [rbp - 0x70]
add r9, r8
lea rdx, [rbp - 0x70]
lea rax, [rbp - 0x70]
cmp rax, r9
je 0x1801b42ca
movabs r12, 0x100000001b3
nop word [rax + rax]
imul rcx, r12
movsx rax, byte [rdx]
xor rcx, rax
inc rdx
cmp rdx, r9
jne 0x1801b42b0
mov r12, 0xffffffffffffffff
mov qword [rbp - 0x19], rcx
xorps xmm0, xmm0
movups xmmword [rbp - 0x11], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 1], xmm1
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x11]
call fcn.1800b9f50
xor ebx, ebx
mov qword [rbp + 0xf], rbx
lea rcx, [rbp - 0x19]
call fcn.1801aa0a0
mov qword [0x1803c88c8], rax
mov rdx, qword [rbp + 7]
cmp rdx, 0xf
jbe 0x1801b433b
inc rdx
mov rcx, qword [rbp - 0x11]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801b4336
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801b460f
call fcn.1801ddb18
cmp qword [0x1803c88d0], 0
jne 0x1801b446b
movdqa xmm1, xmmword [0x180293e30]
movdqu xmmword [rsp + 0x28], xmm1
movdqa xmm0, xmm1
psrldq xmm0, 1
movd eax, xmm0
movd ecx, xmm1
xor al, cl
mov byte [rsp + 0x29], al
xor byte [rsp + 0x2a], cl
xor byte [rsp + 0x2b], cl
xor byte [rsp + 0x2c], cl
xor byte [rsp + 0x2d], cl
xor byte [rsp + 0x2e], cl
xor byte [rsp + 0x2f], cl
xor byte [rsp + 0x30], cl
xor byte [rsp + 0x31], cl
xor byte [rsp + 0x32], cl
xor byte [rsp + 0x33], cl
xor byte [rsp + 0x34], cl
xor byte [rsp + 0x35], cl
xor byte [rsp + 0x36], cl
xor byte [rsp + 0x37], cl
mov byte [rsp + 0x38], 0
lea rax, [rsp + 0x29]
mov r8, r12
inc r8
cmp byte [rax + r8], 0
jne 0x1801b43b3
mov rcx, r13
lea r9, [rsp + 0x29]
add r9, r8
lea rdx, [rsp + 0x29]
lea rax, [rsp + 0x29]
cmp rax, r9
je 0x1801b43fb
movabs r12, 0x100000001b3
imul rcx, r12
movsx rax, byte [rdx]
xor rcx, rax
inc rdx
cmp rdx, r9
jne 0x1801b43e1
mov r12, 0xffffffffffffffff
mov qword [rbp - 0x19], rcx
xorps xmm0, xmm0
movups xmmword [rbp - 0x11], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 1], xmm1
lea rdx, [rsp + 0x29]
lea rcx, [rbp - 0x11]
call fcn.1800b9f50
mov qword [rbp + 0xf], rbx
lea rcx, [rbp - 0x19]
call fcn.1801aa0a0
mov qword [0x1803c88d0], rax
mov rdx, qword [rbp + 7]
cmp rdx, 0xf
jbe 0x1801b446b
inc rdx
mov rcx, qword [rbp - 0x11]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801b4466
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801b4615
call fcn.1801ddb18
cmp qword [0x1803c88d8], 0
jne 0x1801b45ca
mov byte [rbp - 0x41], 0x2c
mov al, 0x59
mov cl, 0x45
mov dl, 0x73
mov r8b, 0x4f
mov r9b, 0x5e
mov r10b, 0x43
mov r11b, 0x5f
movzx ebx, r11b
mov dil, 0x44
mov sil, 0x4d
movzx r14d, cl
movzx r15d, r9b
xor r13d, r13d
xor al, 0x2c
mov byte [rbp - 0x40], al
xor cl, 0x2c
mov byte [rbp - 0x3f], cl
xor dl, 0x2c
mov byte [rbp - 0x3e], dl
xor r8b, 0x2c
mov byte [rbp - 0x3d], r8b
xor r9b, 0x2c
mov byte [rbp - 0x3c], r9b
xor r10b, 0x2c
mov byte [rbp - 0x3b], r10b
xor r11b, 0x2c
mov byte [rbp - 0x3a], r11b
xor bl, 0x2c
mov byte [rbp - 0x39], bl
xor dil, 0x2c
mov byte [rbp - 0x38], dil
xor sil, 0x2c
mov byte [rbp - 0x37], sil
xor r14b, 0x2c
mov byte [rbp - 0x36], r14b
xor r15b, 0x2c
mov byte [rbp - 0x35], r15b
mov byte [rbp - 0x34], r13b
lea rax, [rbp - 0x40]
movabs r13, 0xcbf29ce484222325
nop dword [rax]
inc r12
cmp byte [rax + r12], 0
jne 0x1801b4510
mov qword [rsp + 0x20], r12
lea rdx, [rbp - 0x40]
add rdx, r12
lea rcx, [rbp - 0x40]
lea rax, [rbp - 0x40]
cmp rax, rdx
je 0x1801b4558
movabs r12, 0x100000001b3
nop dword [rax]
imul r13, r12
movsx rax, byte [rcx]
xor r13, rax
inc rcx
cmp rcx, rdx
jne 0x1801b4540
mov r12, qword [rsp + 0x20]
mov qword [rbp - 0x19], r13
xorps xmm0, xmm0
movups xmmword [rbp - 0x11], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 1], xmm1
mov r8, r12
lea rdx, [rbp - 0x40]
lea rcx, [rbp - 0x11]
call fcn.1800b9f50
mov qword [rbp + 0xf], 0
lea rcx, [rbp - 0x19]
call fcn.1801aa0a0
mov qword [0x1803c88d8], rax
mov rdx, qword [rbp + 7]
cmp rdx, 0xf
jbe 0x1801b45ca
inc rdx
mov rcx, qword [rbp - 0x11]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801b45c5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801b45f7
call fcn.1801ddb18
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.1801ddf60
lea r11, [rsp + 0x100]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.1801e4b4c
int3
call fcn.1801e4b4c
int3
call fcn.1801e4b4c
int3
call fcn.1801e4b4c
int3
call fcn.1801e4b4c
int3
call fcn.1801e4b4c
int3