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

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x220]
sub rsp, 0x320
mov rax, qword [0x1400f1010]
xor rax, rsp
mov qword [rbp + 0x210], rax
mov qword [rbp - 0x80], r9
mov qword [rbp - 0x78], r8
mov r12, rdx
mov qword [rsp + 0x50], rdx
xorps xmm0, xmm0
movups xmmword [rbp - 0x60], xmm0
xor esi, esi
mov dword [rsp + 0x74], esi
movups xmmword [rbp - 0x70], xmm0
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x60], rsi
call fcn.1400280d0
mov rdi, rax
movdqa xmm0, xmmword [0x1400ddc80]
movdqu xmmword [rbp - 0x40], xmm0
movdqa xmm1, xmmword [0x1400dde40]
movdqu xmmword [rbp - 0x30], xmm1
mov dword [rbp - 0x20], 0x48787a7d
mov dword [rbp - 0x1c], 0x696e6a4d
mov word [rbp - 0x18], 0x100
mov ecx, esi
nop dword [rax]
nop word [rax + rax]
lea eax, [rcx - 0xc]
xor byte [rbp + rcx - 0x40], al
inc rcx
cmp rcx, 0x28
jb 0x14003f730
mov byte [rbp - 0x17], 0
mov qword [rbp], rsi
mov qword [rbp + 8], 0xf
mov byte [rbp - 0x10], 0
lea rax, [rbp - 0x40]
mov rbx, 0xffffffffffffffff
mov r8, rbx
inc r8
cmp byte [rax + r8], 0
jne 0x14003f762
lea rdx, [rbp - 0x40]
lea rcx, [rbp - 0x10]
call fcn.14002a590
nop
lea rdx, [rbp - 0x10]
mov rcx, rdi
call fcn.1400406c0
test rax, rax
sete r14b
mov rdx, qword [rbp + 8]
cmp rdx, 0x10
jb 0x14003f7c9
inc rdx
mov rcx, qword [rbp - 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003f7c3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003fca2
call fcn.14005fb2c
nop
lea rdi, [rbp - 0x40]
xor eax, eax
mov ecx, 0x29
rep stosb byte [rdi], al
test r14b, r14b
je 0x14003f7e5
mov eax, 0xc0000138
jmp 0x14003fc72
call fcn.1400280d0
mov r15, rax
mov qword [rsp + 0x58], r12
cmp qword [r12 + 0x18], 8
jb 0x14003f803
mov rax, qword [r12]
mov qword [rsp + 0x58], rax
movdqa xmm0, xmmword [0x1400de070]
movdqu xmmword [rbp - 0x40], xmm0
mov dword [rbp - 0x30], 0x636d6b73
mov word [rbp - 0x2c], 0x100
mov rcx, rsi
lea eax, [rcx - 0xf]
xor byte [rbp + rcx - 0x40], al
inc rcx
cmp rcx, 0x14
jb 0x14003f820
mov byte [rbp - 0x2b], 0
mov qword [rbp], rsi
mov qword [rbp + 8], 0xf
mov byte [rbp - 0x10], 0
lea rax, [rbp - 0x40]
mov r8, rbx
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x14003f850
lea rdx, [rbp - 0x40]
lea rcx, [rbp - 0x10]
call fcn.14002a590
nop
call fcn.14003c250
lea r12, [r15 + 0x40]
mov rcx, r12
call qword [0x1400bf448]
lea rdx, [rbp - 0x10]
mov rdi, qword [rbp - 0x10]
mov r13, qword [rbp + 8]
cmp r13, 0x10
cmovae rdx, rdi
movabs r14, 0xcbf29ce484222325
mov r9, r14
mov rcx, rsi
movabs r10, 0x100000001b3
mov r8, qword [rbp]
test r8, r8
je 0x14003f8c4
movzx eax, byte [rcx + rdx]
xor r9, rax
imul r9, r10
inc rcx
cmp rcx, r8
jb 0x14003f8b1
lea r8, [rbp - 0x10]
lea rdx, [rbp - 0x50]
mov rcx, r15
call fcn.14002b080
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x14003f903
cmp rcx, qword [r15 + 8]
je 0x14003f903
mov r15, qword [rcx + 0x30]
mov rcx, r12
call qword [0x1400bf438]
test r15, r15
je 0x14003f90d
mov rdx, qword [rsp + 0x58]
lea rcx, [rbp - 0x60]
call r15
jmp 0x14003f90d
mov rcx, r12
call qword [0x1400bf438]
nop
cmp r13, 0x10
jb 0x14003f945
lea rdx, [r13 + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x14003f93c
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003fca8
mov rcx, rdi
call fcn.14005fb2c
nop
lea rdi, [rbp - 0x40]
xor eax, eax
mov ecx, 0x15
rep stosb byte [rdi], al
lea rax, [rbp + 0x10]
mov qword [rsp + 0x78], rax
mov dword [rsp + 0x70], 0x1fe0000
mov r12, qword [rbp - 0x80]
cmp r12, 0xffffffffffffffff
je 0x14003f97b
lea rdx, [rsp + 0x60]
mov rcx, r12
call qword [0x1400bf168]
call fcn.1400280d0
mov rdi, rax
movdqa xmm0, xmmword [0x1400ddc80]
movdqu xmmword [rbp - 0x40], xmm0
movdqa xmm1, xmmword [0x1400dde40]
movdqu xmmword [rbp - 0x30], xmm1
mov dword [rbp - 0x20], 0x48787a7d
mov dword [rbp - 0x1c], 0x696e6a4d
mov word [rbp - 0x18], 0x100
mov rcx, rsi
nop dword [rax]
nop dword [rax + rax]
lea eax, [rcx - 0xc]
xor byte [rbp + rcx - 0x40], al
inc rcx
cmp rcx, 0x28
jb 0x14003f9c0
mov byte [rbp - 0x17], 0
mov qword [rbp], rsi
mov qword [rbp + 8], 0xf
mov byte [rbp - 0x10], 0
lea rax, [rbp - 0x40]
mov r8, rbx
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x14003f9f0
lea rdx, [rbp - 0x40]
lea rcx, [rbp - 0x10]
call fcn.14002a590
nop
lea rdx, [rbp - 0x10]
mov rcx, rdi
call fcn.1400406c0
test rax, rax
je 0x14003fa52
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], rsi
lea rcx, [rsp + 0x68]
mov qword [rsp + 0x28], rcx
lea rcx, [rbp - 0x70]
mov qword [rsp + 0x20], rcx
lea r9, [rsp + 0x70]
xor r8d, r8d
lea rdx, [rbp - 0x60]
lea ecx, [r8 + 1]
call rax
mov r15d, eax
jmp 0x14003fa58
mov r15d, 0xc0000138
mov rdx, qword [rbp + 8]
cmp rdx, 0x10
jb 0x14003fa94
inc rdx
mov rcx, qword [rbp - 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003fa8e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003fcae
call fcn.14005fb2c
nop
lea rdi, [rbp - 0x40]
xor eax, eax
mov ecx, 0x29
rep stosb byte [rdi], al
mov rdx, qword [rsp + 0x60]
test rdx, rdx
je 0x14003fab9
cmp r12, 0xffffffffffffffff
je 0x14003fab9
xor ecx, ecx
call qword [0x1400bf180]
test r15d, r15d
jne 0x14003fafc
mov rax, qword [rbp - 0x78]
mov rax, qword [rax + 0x10]
cmp byte [rax + 0x17], r15b
je 0x14003fad6
mov eax, 0xc015001d
jmp 0x14003fc72
mov rax, qword [rsp + 0x68]
mov rdx, qword [rax + 8]
nop
inc rbx
cmp word [rdx + rbx*2], 0
jne 0x14003fae0
mov r8, rbx
mov rcx, qword [rsp + 0x50]
call fcn.14002a2d0
jmp 0x14003fc6f
cmp qword [rbp - 0x68], 0
je 0x14003fc6f
call fcn.1400280d0
mov rdi, rax
mov qword [rsp + 0x50], rax
movdqa xmm0, xmmword [0x1400de080]
movdqu xmmword [rbp - 0x40], xmm0
mov dword [rbp - 0x30], 0x636d6b73
mov word [rbp - 0x2c], 0x100
mov rcx, rsi
nop dword [rax]
nop word [rax + rax]
lea eax, [rcx - 0xf]
xor byte [rbp + rcx - 0x40], al
inc rcx
cmp rcx, 0x14
jb 0x14003fb40
mov byte [rbp - 0x2b], 0
mov qword [rbp], rsi
mov qword [rbp + 8], 0xf
mov byte [rbp - 0x10], 0
lea rax, [rbp - 0x40]
nop dword [rax + rax]
inc rbx
cmp byte [rax + rbx], 0
jne 0x14003fb70
mov r8, rbx
lea rdx, [rbp - 0x40]
lea rcx, [rbp - 0x10]
call fcn.14002a590
nop
call fcn.14003c250
lea r12, [rdi + 0x40]
mov rcx, r12
call qword [0x1400bf448]
lea rcx, [rbp - 0x10]
mov rdi, qword [rbp - 0x10]
mov r13, qword [rbp + 8]
cmp r13, 0x10
cmovae rcx, rdi
mov rdx, qword [rbp]
test rdx, rdx
je 0x14003fbe3
movabs r8, 0x100000001b3
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rsi + rcx]
xor r14, rax
imul r14, r8
inc rsi
cmp rsi, rdx
jb 0x14003fbd0
mov r9, r14
lea r8, [rbp - 0x10]
lea rdx, [rbp - 0x50]
mov rbx, qword [rsp + 0x50]
mov rcx, rbx
call fcn.14002b080
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x14003fc24
cmp rdx, qword [rbx + 8]
je 0x14003fc24
mov rbx, qword [rdx + 0x30]
mov rcx, r12
call qword [0x1400bf438]
test rbx, rbx
je 0x14003fc2e
lea rcx, [rbp - 0x70]
call rbx
jmp 0x14003fc2e
mov rcx, r12
call qword [0x1400bf438]
nop
cmp r13, 0x10
jb 0x14003fc62
lea rdx, [r13 + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x14003fc59
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003fc9c
mov rcx, rdi
call fcn.14005fb2c
nop
lea rdi, [rbp - 0x40]
xor eax, eax
mov ecx, 0x15
rep stosb byte [rdi], al
mov eax, r15d
mov rcx, qword [rbp + 0x210]
xor rcx, rsp
call fcn.14005fa30
mov rbx, qword [rsp + 0x360]
add rsp, 0x320
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.14009598c
nop
call fcn.14009598c
nop
call fcn.14009598c
nop
call fcn.14009598c
int3