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

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1c8]
sub rsp, 0x2c8
mov rax, qword [0x14019e230]
xor rax, rsp
mov qword [rbp + 0x1b0], rax
mov r12, r9
mov qword [rbp - 0x48], r9
mov rsi, r8
mov r15, rdx
mov qword [rbp - 0x50], rdx
mov r13, rcx
mov qword [rbp - 0x40], rcx
mov qword [rbp - 0x38], rdx
mov qword [rbp + 0x80], r9
xor ebx, ebx
mov dword [rsp + 0x30], ebx
xorps xmm0, xmm0
movups xmmword [rdx], xmm0
mov qword [rdx], rbx
mov qword [rdx + 8], rbx
mov qword [rdx + 0x10], rbx
mov dword [rsp + 0x30], 1
movups xmmword [rbp + 0x140], xmm0
movups xmmword [rbp + 0x150], xmm0
movups xmmword [rbp + 0x160], xmm0
movups xmmword [rbp + 0x170], xmm0
movss dword [rbp + 0x140], xmm0
mov qword [rbp + 0x148], rbx
mov qword [rbp + 0x150], rbx
lea ecx, [rbx + 0x30]
call fcn.1400dde60
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rbp + 0x148], rax
mov qword [rbp + 0x158], rbx
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x160], xmm0
mov qword [rbp + 0x170], 7
mov qword [rbp + 0x178], 8
movss xmm0, dword [0x14017e594]
movss dword [rbp + 0x140], xmm0
mov r8, rax
lea edx, [rbx + 0x10]
lea rcx, [rbp + 0x158]
call fcn.140026290
nop
xorps xmm0, xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x198], xmm1
mov qword [rbp + 0x1a8], rbx
movups xmmword [rbp + 0x98], xmm0
movdqu xmmword [rbp + 0x88], xmm0
mov qword [rbp + 0x98], rbx
mov qword [rbp + 0xa0], rbx
mov qword [rbp + 0xa8], rbx
lea ecx, [rbx + 0x10]
call fcn.1400dde60
mov qword [rax + 8], rbx
mov qword [rbp + 0x88], rax
lea rcx, [rbp + 0x88]
mov qword [rax], rcx
mov rdi, qword [rsi + 0xb8]
mov r14, qword [rsi + 0xc0]
cmp rdi, r14
je 0x1400a76d6
nop
mov qword [rbp + 0x110], rsi
lea rdx, [rdi + 0x48]
lea rcx, [rbp + 0x118]
call fcn.1400215f0
nop
mov rax, qword [rbp + 0x110]
mov qword [rbp - 0x30], rax
lea rdx, [rbp + 0x118]
lea rcx, [rbp - 0x28]
call fcn.1400215f0
nop
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x38], xmm0
mov qword [rsp + 0x48], rbx
mov edx, 1
call fcn.140030bd0
mov rbx, rax
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], rax
add rax, 0x28
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x38]
mov qword [rsp + 0x50], rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x180], xmm0
mov qword [rbp + 0x180], rbx
mov qword [rbp + 0x188], rbx
lea rax, [rsp + 0x38]
mov qword [rbp + 0x190], rax
lea rcx, [rbx + 8]
mov rax, qword [rbp - 0x30]
mov qword [rbx], rax
lea rdx, [rbp - 0x28]
call fcn.1400215f0
lea rax, [rbx + 0x28]
mov qword [rbp + 0x180], rax
mov qword [rsp + 0x40], rax
mov rax, qword [rbp + 0x110]
mov qword [rbp], rax
lea rdx, [rbp + 0x118]
lea rcx, [rbp + 8]
call fcn.1400215f0
nop
lea rdx, [rsp + 0x38]
lea rcx, [rbp + 0x28]
call fcn.1400a8350
nop
lea rdx, [rbp]
lea rcx, [rbp + 0x88]
call fcn.1400a8240
nop
lea rcx, [rbp + 0x28]
call fcn.14001e6c0
lea rcx, [rbp + 8]
call fcn.140024d90
nop
lea rcx, [rsp + 0x38]
call fcn.14001e6c0
nop
lea r9, [0x140004a40]
mov edx, 0x28
lea r8d, [rdx - 0x27]
lea rcx, [rbp - 0x30]
call fcn.1400dde9c
nop
lea rcx, [rbp + 0x118]
call fcn.140024d90
sub rdi, 0xffffffffffffff80
cmp rdi, r14
mov ebx, 0
jne 0x1400a7590
xorps xmm0, xmm0
movdqa xmmword [rbp + 0xd0], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0xe0], xmm1
xor r14d, r14d
mov qword [rbp + 0xf0], r14
mov qword [rbp + 0x100], r14
mov qword [rbp + 0x108], 0xf
mov byte [rbp + 0xf0], r14b
cmp qword [rbp + 0xa8], r14
jbe 0x1400a7d3d
movabs rsi, 0x100000001b3
mov rcx, qword [rbp + 0x98]
dec rcx
and rcx, qword [rbp + 0xa0]
mov rax, qword [rbp + 0x90]
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx]
mov qword [rbp + 0xe8], rax
lea rdx, [rbx + 8]
lea rax, [rbp + 0xf0]
cmp rax, rdx
je 0x1400a7776
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x1400a776a
mov rdx, qword [rdx]
lea rcx, [rbp + 0xf0]
call fcn.14000daa0
lea rdx, [rbx + 0x28]
lea rax, [rbp + 0xd0]
cmp rax, rdx
je 0x1400a7799
mov r8, qword [rdx + 8]
mov rdx, qword [rdx]
lea rcx, [rbp + 0xd0]
call fcn.1400a9570
mov rbx, qword [rbp + 0x98]
dec rbx
and rbx, qword [rbp + 0xa0]
mov rax, qword [rbp + 0x90]
mov rbx, qword [rax + rbx*8]
lea rcx, [rbx + 0x28]
call fcn.14001e6c0
lea rcx, [rbx + 8]
call fcn.140024d90
sub qword [rbp + 0xa8], 1
jne 0x1400a77da
mov qword [rbp + 0xa0], r14
jmp 0x1400a77e1
inc qword [rbp + 0xa0]
mov rbx, qword [r12]
mov rdi, qword [rbp + 0xe8]
cmp rdi, rbx
jne 0x1400a7a2c
lea rdx, [r12 + 8]
mov rax, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x1400a7808
mov rdx, qword [rdx]
lea rcx, [rbp + 0xf0]
cmp qword [rbp + 0x108], 0x10
cmovae rcx, qword [rbp + 0xf0]
mov r8, qword [rbp + 0x100]
cmp r8, rax
jne 0x1400a7838
call fcn.1400e08a0
test eax, eax
jne 0x1400a7838
mov al, 1
jmp 0x1400a783a
xor al, al
test al, al
je 0x1400a792a
lea r8, [rbp + 0xd0]
lea rdx, [rbp + 0xb0]
call fcn.1400a7eb0
mov r10, rax
mov r8, qword [rax + 0x10]
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x1400a7869
mov rdx, qword [rax]
movabs r9, 0xcbf29ce484222325
mov rcx, r14
test r8, r8
je 0x1400a7893
nop dword [rax + rax]
movzx eax, byte [rcx + rdx]
xor r9, rax
imul r9, rsi
inc rcx
cmp rcx, r8
jb 0x1400a7880
mov r8, r10
lea rdx, [rbp + 0x40]
lea rcx, [rbp + 0x140]
call fcn.1400357f0
mov rbx, qword [rax + 8]
lea rcx, [rbp + 0xb0]
call fcn.140024d90
test rbx, rbx
jne 0x1400a7d2f
mov rax, qword [r15 + 8]
cmp rax, qword [r15 + 0x10]
je 0x1400a78df
lea rdx, [rbp + 0xd0]
mov rcx, rax
call fcn.1400a8350
add qword [r15 + 8], 0x18
jmp 0x1400a78f1
lea r8, [rbp + 0xd0]
mov rdx, rax
mov rcx, r15
call fcn.1400a8980
lea r8, [rbp + 0xd0]
lea rdx, [rbp + 0xb0]
call fcn.1400a7eb0
nop
mov r8, rax
lea rdx, [rbp + 0x50]
lea rcx, [rbp + 0x140]
call fcn.1400a86f0
nop
lea rcx, [rbp + 0xb0]
call fcn.140024d90
jmp 0x1400a7d2f
cmp rdi, rbx
jne 0x1400a7a2c
cmp qword [r12 + 0x18], 0
jne 0x1400a793f
mov al, 1
jmp 0x1400a7941
xor al, al
test al, al
je 0x1400a7a2c
lea r8, [rbp + 0xd0]
lea rdx, [rbp + 0xb0]
call fcn.1400a7eb0
mov r10, rax
mov r8, qword [rax + 0x10]
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x1400a7970
mov rdx, qword [rax]
movabs r9, 0xcbf29ce484222325
mov rcx, r14
test r8, r8
je 0x1400a7995
movzx eax, byte [rdx + rcx]
xor r9, rax
imul r9, rsi
inc rcx
cmp rcx, r8
jb 0x1400a7982
mov r8, r10
lea rdx, [rbp + 0x60]
lea rcx, [rbp + 0x140]
call fcn.1400357f0
mov rbx, qword [rax + 8]
lea rcx, [rbp + 0xb0]
call fcn.140024d90
test rbx, rbx
jne 0x1400a7d2f
mov rax, qword [r15 + 8]
cmp rax, qword [r15 + 0x10]
je 0x1400a79e1
lea rdx, [rbp + 0xd0]
mov rcx, rax
call fcn.1400a8350
add qword [r15 + 8], 0x18
jmp 0x1400a79f3
lea r8, [rbp + 0xd0]
mov rdx, rax
mov rcx, r15
call fcn.1400a8980
lea r8, [rbp + 0xd0]
lea rdx, [rbp + 0xb0]
call fcn.1400a7eb0
nop
mov r8, rax
lea rdx, [rbp + 0x70]
lea rcx, [rbp + 0x140]
call fcn.1400a86f0
nop
lea rcx, [rbp + 0xb0]
call fcn.140024d90
jmp 0x1400a7d2f
lea rdx, [rbp + 0xe8]
lea rcx, [r13 + 0x18]
call fcn.1400a8440
test al, al
je 0x1400a7d2f
mov byte [rsp + 0x20], 0
lea r8, [rbp + 0xe8]
lea rdx, [rbp + 0x180]
lea rcx, [r13 + 0x18]
call fcn.1400a8f10
mov rcx, qword [rax]
mov rax, qword [rcx + 0x48]
mov qword [rsp + 0x28], rax
mov rcx, qword [rcx + 0x50]
mov qword [rsp + 0x50], rcx
cmp rax, rcx
je 0x1400a7d2f
nop
mov rax, qword [rax]
mov qword [rbp - 0x58], rax
mov r13, qword [rax + 0xb8]
mov rcx, qword [rax + 0xc0]
mov qword [rbp - 0x60], rcx
cmp r13, rcx
je 0x1400a7d00
mov qword [rbp + 0x110], rax
lea rdx, [r13 + 0x48]
lea rcx, [rbp + 0x118]
call fcn.1400215f0
nop
mov rsi, qword [rbp + 0x110]
mov rbx, qword [rbp + 0xd0]
mov rdi, qword [rbp + 0xd8]
cmp rbx, rdi
je 0x1400a7b34
add rbx, 8
mov r15, qword [rbp + 0x130]
mov r14, qword [rbp + 0x128]
mov r12, qword [rbp + 0x118]
nop dword [rax]
cmp qword [rbx - 8], rsi
jne 0x1400a7b24
lea rdx, [rbp + 0x118]
cmp r15, 0x10
cmovae rdx, r12
mov r8, qword [rbx + 0x10]
mov rcx, rbx
cmp qword [rbx + 0x18], 0x10
jb 0x1400a7b16
mov rcx, qword [rbx]
cmp r8, r14
jne 0x1400a7b24
call fcn.1400e08a0
test eax, eax
je 0x1400a7b43
add rbx, 0x28
lea rax, [rbx - 8]
cmp rax, rdi
jne 0x1400a7af0
xor r14d, r14d
cmp byte [rsp + 0x20], 0
je 0x1400a7b4a
xor r14d, r14d
jmp 0x1400a7ce2
mov byte [rsp + 0x20], 1
jmp 0x1400a7b3b
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0xb0], xmm0
mov qword [rbp + 0xc0], rax
lea rdx, [rbp + 0xd0]
lea rcx, [rbp + 0xb0]
call fcn.1400a8350
nop
mov rdx, qword [rbp + 0xb8]
cmp rdx, qword [rbp + 0xc0]
je 0x1400a7b9e
mov qword [rdx], rsi
lea rcx, [rdx + 8]
lea rdx, [rbp + 0x118]
call fcn.1400215f0
add qword [rbp + 0xb8], 0x28
jmp 0x1400a7bb1
lea r8, [rbp + 0x110]
lea rcx, [rbp + 0xb0]
call fcn.1400a8c90
mov rax, qword [rbp + 0x110]
mov qword [rsp + 0x60], rax
lea rdx, [rbp + 0x118]
lea rcx, [rsp + 0x68]
call fcn.1400215f0
nop
lea rdx, [rbp + 0xb0]
lea rcx, [rbp - 0x78]
call fcn.1400a8350
nop
mov rcx, qword [rbp + 0xa8]
lea rax, [rcx + 1]
mov rbx, qword [rbp + 0x98]
cmp rbx, rax
ja 0x1400a7c11
lea rcx, [rbp + 0x88]
call fcn.1400a90e0
mov rcx, qword [rbp + 0xa8]
mov rbx, qword [rbp + 0x98]
dec rbx
mov rax, qword [rbp + 0xa0]
and rax, rbx
mov qword [rbp + 0xa0], rax
add rax, rcx
and rbx, rax
mov r8, qword [rbp + 0x90]
cmp qword [r8 + rbx*8], 0
jne 0x1400a7c58
mov ecx, 0x40
call fcn.1400dde60
mov rcx, rax
mov rax, qword [rbp + 0x90]
mov qword [rax + rbx*8], rcx
mov r8, qword [rbp + 0x90]
mov r8, qword [r8 + rbx*8]
mov rax, qword [rsp + 0x60]
mov qword [r8], rax
mov qword [r8 + 8], r14
mov qword [r8 + 0x18], r14
mov qword [r8 + 0x20], r14
movups xmm0, xmmword [rsp + 0x68]
movups xmmword [r8 + 8], xmm0
movups xmm1, xmmword [rsp + 0x78]
movups xmmword [r8 + 0x18], xmm1
mov qword [rsp + 0x78], r14
mov qword [rbp - 0x80], 0xf
mov byte [rsp + 0x68], 0
mov rdx, qword [rbp - 0x68]
mov qword [rbp - 0x68], r14
mov rcx, qword [rbp - 0x70]
mov qword [rbp - 0x70], r14
mov rax, qword [rbp - 0x78]
mov qword [rbp - 0x78], r14
mov qword [r8 + 0x28], rax
mov qword [r8 + 0x30], rcx
mov qword [r8 + 0x38], rdx
inc qword [rbp + 0xa8]
lea rcx, [rbp - 0x78]
call fcn.14001e6c0
lea rcx, [rsp + 0x68]
call fcn.140024d90
nop
lea rcx, [rbp + 0xb0]
call fcn.14001e6c0
nop
lea rcx, [rbp + 0x118]
call fcn.140024d90
sub r13, 0xffffffffffffff80
cmp r13, qword [rbp - 0x60]
mov rax, qword [rbp - 0x58]
jne 0x1400a7aa2
mov rax, qword [rsp + 0x28]
add rax, 8
mov qword [rsp + 0x28], rax
cmp rax, qword [rsp + 0x50]
jne 0x1400a7a80
mov r15, qword [rbp - 0x50]
mov r12, qword [rbp - 0x48]
mov r13, qword [rbp - 0x40]
movabs rsi, 0x100000001b3
cmp qword [rbp + 0xa8], 0
ja 0x1400a7726
lea rcx, [rbp + 0xf0]
call fcn.140024d90
lea rcx, [rbp + 0xd0]
call fcn.14001e6c0
nop
mov rcx, qword [rbp + 0xa8]
test rcx, rcx
je 0x1400a7db4
mov rax, qword [rbp + 0xa0]
dec rax
add rcx, rax
mov rbx, qword [rbp + 0x98]
dec rbx
and rbx, rcx
mov rax, qword [rbp + 0x90]
mov rbx, qword [rax + rbx*8]
lea rcx, [rbx + 0x28]
call fcn.14001e6c0
lea rcx, [rbx + 8]
call fcn.140024d90
mov rcx, qword [rbp + 0xa8]
sub rcx, 1
mov qword [rbp + 0xa8], rcx
jne 0x1400a7d62
mov qword [rbp + 0xa0], r14
mov rbx, qword [rbp + 0x98]
mov rcx, qword [rbp + 0x90]
test rbx, rbx
je 0x1400a7dfc
nop word [rax + rax]
dec rbx
mov rax, qword [rcx + rbx*8]
test rax, rax
je 0x1400a7df0
mov edx, 0x40
mov rcx, rax
call fcn.1400ddbc0
mov rcx, qword [rbp + 0x90]
test rbx, rbx
jne 0x1400a7dd0
mov rbx, qword [rbp + 0x98]
test rcx, rcx
je 0x1400a7e2f
lea rdx, [rbx*8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400a7e2a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400a7ea0
call fcn.1400ddbc0
mov qword [rbp + 0x98], r14
mov qword [rbp + 0x90], r14
mov rcx, qword [rbp + 0x88]
mov qword [rbp + 0x88], r14
mov edx, 0x10
call fcn.1400ddbc0
nop
lea rcx, [rbp + 0x198]
call fcn.14001e6c0
nop
lea rcx, [rbp + 0x140]
call fcn.14001aa00
nop
lea rcx, [r12 + 8]
call fcn.140024d90
mov rax, r15
mov rcx, qword [rbp + 0x1b0]
xor rcx, rsp
call fcn.1400ddba0
add rsp, 0x2c8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.1400ed100
int3