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

Disassembly:
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x40
mov rax, qword [0x1800d8040]
xor rax, rsp
mov qword [rsp + 0x38], rax
mov rcx, qword [0x18013a3c0]
mov esi, edx
mov rax, qword [rcx]
mov r8, qword [rax + 0x1d8]
call r8
mov rdi, rax
test rax, rax
je 0x180079843
mov qword [rsp + 0x50], rbx
test esi, esi
jne 0x1800795cc
mov rdx, rax
call fcn.18007be70
mov rcx, qword [0x18013a3e8]
lea rdx, [rsp + 0x30]
xor r8d, r8d
mov dword [rsp + 0x30], 0xffffffff
mov r9, qword [rcx]
call qword [r9 + 0x178]
mov edx, dword [rsp + 0x30]
mov rcx, qword [0x18013a488]
inc edx
call fcn.1800651b0
mov rcx, qword [0x18013a3e8]
mov rbx, rax
mov rdx, qword [rcx]
mov r8, qword [rdx + 0x118]
call r8
test al, al
je 0x18007983e
mov rcx, qword [0x18013a3e8]
mov rdx, qword [rcx]
mov r8, qword [rdx + 0x120]
call r8
test al, al
je 0x18007983e
test rbx, rbx
je 0x18007983e
mov rcx, rbx
call fcn.1800643b0
cmp byte [rax], 0
je 0x18007983e
mov rcx, rbx
mov qword [rsp + 0x58], rbp
call fcn.180064290
mov rcx, qword [0x18013a488]
mov edx, dword [rax]
call fcn.180065240
mov rbp, rax
test rax, rax
je 0x180079839
cmp esi, 3
jne 0x180079693
mov r9, rdi
mov r8, rax
mov rdx, rbx
call fcn.18007a7c0
jmp 0x180079839
cmp esi, 6
jne 0x180079839
mov r8, rdi
mov rdx, rbp
call fcn.18007a200
mov r9, rdi
mov r8, rbp
mov rdx, rbx
call fcn.18007acd0
mov rcx, rbx
call fcn.180078940
mov r8d, 0x26
mov rcx, rdi
mov edx, dword [rax]
mov rax, qword [rdi]
mov r9, qword [rax + 0x40]
call r9
mov rbx, rax
test rax, rax
je 0x180079839
mov rcx, qword gs:[0x58]
mov edx, dword [0x18013a0b4]
mov eax, 4
mov rdi, qword [rcx + rdx*8]
add rdi, rax
mov ecx, dword [rdi]
cmp dword [0x18013a398], ecx
jle 0x180079732
lea rcx, [0x18013a398]
call fcn.1800ad598
cmp dword [0x18013a398], 0xffffffff
jne 0x180079732
mov rax, qword [0x18013a278]
lea rcx, [0x18013a398]
mov qword [0x18013a490], rax
call fcn.1800ad52c
mov rax, qword [0x18013a490]
test rax, rax
je 0x180079839
mov rcx, rbx
call rax
test rax, rax
je 0x180079839
lea rbx, [rax + 0x30]
mov r8, rbx
lea rdx, [rsp + 0x20]
lea rcx, [0x18013c500]
call fcn.18005b260
mov rcx, qword [rax]
mov rcx, qword [rcx + 0x18]
mov rax, qword [rcx]
mov rdx, qword [rax + 0x18]
call rdx
movabs rdx, 0xcbf29ce484222325
movzx ecx, byte [rax]
test cl, cl
je 0x180079839
movabs r8, 0x100000001b3
nop word [rax + rax]
movsx rcx, cl
lea rax, [rax + 1]
xor rdx, rcx
movzx ecx, byte [rax]
imul rdx, r8
test cl, cl
jne 0x1800797a0
movabs rax, 0xa6f6fccd3f289709
cmp rdx, rax
jne 0x180079839
mov r8, rbx
lea rdx, [rsp + 0x20]
lea rcx, [0x18013c500]
call fcn.18005b260
mov rcx, qword [rax]
mov rcx, qword [rcx + 0x18]
mov rax, qword [rcx]
mov rdx, qword [rax + 0x30]
call rdx
mov ecx, dword [rdi]
mov rbx, rax
cmp dword [0x18013a780], ecx
jle 0x180079825
lea rcx, [0x18013a780]
call fcn.1800ad598
cmp dword [0x18013a780], 0xffffffff
jne 0x180079825
mov rdx, qword [0x18013a290]
lea rcx, [0x18013a780]
mov qword [0x18013a6e8], rdx
call fcn.1800ad52c
mov rax, qword [0x18013a6e8]
test rax, rax
je 0x180079839
mov rdx, rbx
mov rcx, rbp
call rax
mov rbp, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.1800ad4d0
mov rsi, qword [rsp + 0x60]
add rsp, 0x40
pop rdi
ret