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

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x90]
sub rsp, 0x190
mov rax, qword [0x180141040]
xor rax, rsp
mov qword [rbp + 0x70], rax
mov rax, qword [0x1801420e8]
mov rdi, rcx
mov r8d, dword [0x180141ae8]
mov r15, rdx
mov ecx, 4
movabs rbx, 0xcbf29ce484222325
movabs r12, 0x100000001b3
mov rsi, qword [rax + 0x58]
mov rax, qword gs:[0x58]
mov r14, qword [rax + r8*8]
mov eax, dword [r14 + rcx]
cmp dword [0x180142288], eax
jle 0x180068bec
lea rcx, [0x180142288]
call fcn.1800d7590
cmp dword [0x180142288], 0xffffffff
jne 0x180068bec
movabs rax, 0xb7d4d25bd5cc932c
lea rdx, [rsp + 0x60]
mov qword [rsp + 0x40], rax
mov rcx, rbx
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x60], rax
movabs rax, 0xe79d36580641d789
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x68], rax
movabs rax, 0x543a3d522bf11efe
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x70], rax
movabs rax, 0x374c690e1378d36d
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x78], rax
movabs rax, 0xd6b8823ea6add16f
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x40], rax
movabs rax, 0x95e958374533b2f0
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x48], rax
movabs rax, 0x390410204e9d7291
vmovdqu xmm0, xmmword [rbp + 0x40]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x50], rax
movabs rax, 0x374c07797228bb32
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
vpxor xmm2, xmm0, xmmword [rsp + 0x60]
mov qword [rbp + 0x58], rax
vmovdqu xmm0, xmmword [rbp + 0x50]
vpxor xmm1, xmm0, xmmword [rsp + 0x70]
vmovq rax, xmm2
vmovdqu xmmword [rsp + 0x70], xmm1
vmovdqu xmmword [rsp + 0x60], xmm2
test al, al
je 0x180068ba8
nop dword [rax]
inc rdx
cmp byte [rdx], 0
jne 0x180068ba0
lea rax, [rsp + 0x60]
mov r8d, 0
sub rdx, rax
je 0x180068bd5
nop dword [rax + rax]
movsx rax, byte [rsp + r8 + 0x60]
inc r8
xor rcx, rax
imul rcx, r12
cmp r8, rdx
jb 0x180068bc0
call fcn.18006e5c0
lea rcx, [0x180142288]
mov dword [0x18014229c], eax
call fcn.1800d7524
mov edx, dword [0x18014229c]
mov edx, dword [rdx + rdi]
cmp edx, 0x3fff
ja 0x180068c10
and edx, 0x7fff
mov rcx, rsi
call fcn.1800640b0
mov rsi, rax
jmp 0x180068c12
xor esi, esi
mov rax, qword [0x1801420e8]
mov rdi, qword [rax + 0x58]
mov eax, 4
mov eax, dword [r14 + rax]
cmp dword [0x180142288], eax
jle 0x180068d8c
lea rcx, [0x180142288]
call fcn.1800d7590
cmp dword [0x180142288], 0xffffffff
jne 0x180068d8c
movabs rax, 0xb7d4d25bd5cc932c
lea rdx, [rbp - 0x80]
mov qword [rsp + 0x40], rax
mov rcx, rbx
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x80], rax
movabs rax, 0xe79d36580641d789
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x78], rax
movabs rax, 0x543a3d522bf11efe
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x70], rax
movabs rax, 0x374c690e1378d36d
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x68], rax
movabs rax, 0xd6b8823ea6add16f
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x40], rax
movabs rax, 0x95e958374533b2f0
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x48], rax
movabs rax, 0x390410204e9d7291
vmovdqu xmm0, xmmword [rbp + 0x40]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x50], rax
movabs rax, 0x374c07797228bb32
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
vpxor xmm2, xmm0, xmmword [rbp - 0x80]
mov qword [rbp + 0x58], rax
vmovdqu xmm0, xmmword [rbp + 0x50]
vpxor xmm1, xmm0, xmmword [rbp - 0x70]
vmovq rax, xmm2
vmovdqu xmmword [rbp - 0x70], xmm1
vmovdqu xmmword [rbp - 0x80], xmm2
test al, al
je 0x180068d48
nop dword [rax]
inc rdx
cmp byte [rdx], 0
jne 0x180068d40
lea rax, [rbp - 0x80]
mov r8d, 0
sub rdx, rax
je 0x180068d75
nop word [rax + rax]
movsx rax, byte [rbp + r8 - 0x80]
inc r8
xor rcx, rax
imul rcx, r12
cmp r8, rdx
jb 0x180068d60
call fcn.18006e5c0
lea rcx, [0x180142288]
mov dword [0x18014229c], eax
call fcn.1800d7524
mov edx, dword [0x18014229c]
mov edx, dword [rdx + r15]
cmp edx, 0x3fff
ja 0x180068db1
and edx, 0x7fff
mov rcx, rdi
call fcn.1800640b0
mov rdi, rax
jmp 0x180068db3
xor edi, edi
test rsi, rsi
je 0x180069202
test rdi, rdi
je 0x180069202
mov rdx, rdi
mov rcx, rsi
call fcn.18006f230
test al, al
je 0x180069202
vxorps xmm0, xmm0, xmm0
lea rdx, [rsp + 0x50]
mov rcx, rdi
vmovups xmmword [rsp + 0x50], xmm0
call fcn.180067c70
test al, al
je 0x180069202
vmovss xmm1, dword [0x1801305bc]
mov rcx, qword [0x1801414b8]
mov rax, qword [0x180142398]
shl rax, 5
vpxor xmm0, xmm0, xmm0
lea rdx, [rcx + 0x18]
mov qword [rbp - 0x20], 0
add rdx, rax
cmp qword [rax + rcx + 0x10], 8
vmovss dword [rbp - 0x18], xmm1
vpxor xmm1, xmm1, xmm1
vmovdqu xmmword [rbp - 0x30], xmm0
vmovups xmmword [rbp - 0x14], xmm0
vmovups ymmword [rbp - 4], ymm1
vmovups ymmword [rbp + 0x1c], ymm1
jbe 0x180068e4c
mov rdx, qword [rdx]
cmp byte [rdx], 0
je 0x180068e98
vmovss xmm0, dword [rdx + 8]
vmovss xmm1, dword [rdx + 4]
lea rcx, [rdx + 0xc]
lea rax, [rdx + 0x10]
mov rdx, qword [0x180142308]
mov qword [rsp + 0x38], rax
lea r8, [rsp + 0x50]
mov qword [rsp + 0x30], rcx
lea rcx, [rbp - 0x30]
vmovss dword [rsp + 0x28], xmm0
vmovss dword [rsp + 0x20], xmm1
vzeroupper
call fcn.180066e50
mov rcx, qword [0x1801414b8]
mov rax, qword [0x1801423a0]
shl rax, 5
add rax, rcx
cmp qword [rax + 0x10], 8
lea rcx, [rax + 0x18]
jbe 0x180068eb4
mov rcx, qword [rcx]
cmp byte [rcx], 0
je 0x1800690eb
mov eax, 4
mov eax, dword [r14 + rax]
cmp dword [0x1801422f0], eax
jle 0x18006908f
lea rcx, [0x1801422f0]
vzeroupper
call fcn.1800d7590
cmp dword [0x1801422f0], 0xffffffff
jne 0x18006908f
movabs rax, 0xff6dd96a23f31300
lea rdx, [rbp - 0x60]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x60], rax
movabs rax, 0x660017f76124f582
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x58], rax
movabs rax, 0xb7216feaf55a2df1
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x50], rax
movabs rax, 0x1695b8c5e9e3bfe1
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x48], rax
movabs rax, 0xdd40b03926fd5b3
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x40], rax
movabs rax, 0xf8f833c76a0809b5
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x38], rax
movabs rax, 0x9a14b80673a05043
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x40], rax
movabs rax, 0xa6f65830f4bb6f0
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x48], rax
movabs rax, 0xc47e02d4d828489d
vmovdqu xmm0, xmmword [rbp + 0x40]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x50], rax
movabs rax, 0x73efd1b1808ddeb2
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x58], rax
movabs rax, 0x43a66e7af30385d7
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x60], rax
movabs rax, 0xf8f833c76a6d64d4
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
vpxor xmm3, xmm0, xmmword [rbp - 0x60]
vmovdqu xmm0, xmmword [rbp - 0x50]
vmovdqu xmm2, xmmword [rbp - 0x40]
vpxor xmm1, xmm0, xmmword [rbp + 0x50]
mov qword [rbp + 0x68], rax
vpxor xmm0, xmm2, xmmword [rbp + 0x60]
vmovq rax, xmm3
vmovdqu xmmword [rbp - 0x40], xmm0
vmovdqu xmmword [rbp - 0x60], xmm3
vmovdqu xmmword [rbp - 0x50], xmm1
test al, al
je 0x180069050
inc rdx
cmp byte [rdx], 0
jne 0x180069048
lea rax, [rbp - 0x60]
mov r8d, 0
sub rdx, rax
je 0x180069075
nop
movsx rax, byte [rbp + r8 - 0x60]
inc r8
xor rbx, rax
imul rbx, r12
cmp r8, rdx
jb 0x180069060
mov rcx, rbx
call fcn.18006e5c0
lea rcx, [0x1801422f0]
mov dword [0x1801422dc], eax
call fcn.1800d7524
mov eax, dword [0x1801422dc]
mov rbx, qword [rax + r15]
vzeroupper
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
xor edx, edx
mov r8d, 0x50
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x1800690df
mov rcx, qword [0x1801423a0]
xor edx, edx
mov qword [rsp + 0x30], rcx
mov rcx, qword [0x180142138]
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rcx
mov rcx, rax
call fcn.180066260
mov rdx, rax
lea rcx, [rbp - 0x30]
call fcn.180067110
mov rsi, qword [rbp - 0x30]
mov r14, qword [rbp - 0x28]
mov rdi, rsi
mov r15, qword [0x180142308]
mov dword [rsp + 0x48], 0
cmp rsi, r14
je 0x1800691bc
vmovaps xmmword [rsp + 0x180], xmm6
vmovss xmm6, dword [0x180130570]
nop
mov rbx, qword [rdi]
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x40]
mov rcx, rbx
mov rax, qword [rbx]
vzeroupper
call qword [rax]
movzx edx, byte [rbx + 8]
lea eax, [rdx - 1]
test al, 0xfd
jne 0x180069173
mov eax, edx
add rax, rax
cmp byte [rbx + 0x20], dl
jne 0x180069159
cmp byte [rsp + rdx + 0x48], 0
jne 0x180069173
mov byte [rsp + rdx + 0x48], 1
vmovss xmm0, dword [rbp + rax*8 - 4]
vsubss xmm1, xmm0, dword [rbp + rax*8 + 4]
vmulss xmm2, xmm1, xmm6
vaddss xmm3, xmm2, dword [rbx + 0xc]
vmovss dword [rbx + 0xc], xmm3
vmovss xmm0, dword [rsp + 0x40]
vmovss xmm2, dword [rsp + 0x44]
vaddss xmm1, xmm0, dword [rbx + 0xc]
vaddss xmm0, xmm2, dword [rbx + 0x10]
mov rax, qword [rbx]
lea r8, [rsp + 0x40]
mov rdx, r15
mov rcx, rbx
vmovss dword [rsp + 0x44], xmm0
vmovss dword [rsp + 0x40], xmm1
call qword [rax + 0x10]
add rdi, 8
cmp rdi, r14
jne 0x180069120
vmovaps xmm6, xmmword [rsp + 0x180]
test rsi, rsi
je 0x180069202
mov rdx, qword [rbp - 0x20]
mov rax, rsi
sub rdx, rsi
and rdx, 0xfffffffffffffff8
cmp rdx, 0x1000
jb 0x1800691f7
mov rsi, qword [rsi - 8]
add rdx, 0x27
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800691f7
vzeroupper
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rsi
vzeroupper
call fcn.1800d751c
vzeroupper
mov rcx, qword [rbp + 0x70]
xor rcx, rsp
call fcn.1800d7380
lea r11, [rsp + 0x190]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret