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

Disassembly:
push rbp
push rdi
push r14
lea rbp, [rsp - 0x47]
sub rsp, 0xd0
cmp qword [rcx + 0x18], 0x10
mov r14, rcx
mov r8, qword [rcx + 0x10]
mov rdx, rcx
jb 0x180076ee5
mov rdx, qword [rcx]
xor edi, edi
movabs r9, 0xcbf29ce484222325
mov ecx, edi
test r8, r8
je 0x180076f15
movabs r10, 0x100000001b3
movzx eax, byte [rcx + rdx]
inc rcx
xor r9, rax
imul r9, r10
cmp rcx, r8
jb 0x180076f02
mov r8, r14
lea rdx, [rbp - 0x59]
lea rcx, [0x1802ec2f0]
call fcn.180074d80
mov rcx, qword [rax + 8]
mov rax, qword [0x1802ec2f8]
test rcx, rcx
cmovne rax, rcx
cmp rax, qword [0x1802ec2f8]
jne 0x180077410
mov qword [rsp + 0xf8], rbx
mov ecx, 0x70
mov qword [rsp + 0xc0], r15
call fcn.180042b80
mov rbx, rax
test rax, rax
je 0x180076ffd
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbx + 0x24], xmm0
movups xmmword [rbx + 0x34], xmm0
lea ecx, [rax + 0x30]
movups xmmword [rbx + 0x44], xmm0
movups xmmword [rbx + 0x54], xmm0
mov qword [rbx + 0x64], rax
mov dword [rbx + 0x6c], eax
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], rdi
mov qword [rbx + 0x18], 0xf
mov byte [rbx], al
mov dword [rbx + 0x20], edi
mov qword [rbx + 0x28], rdi
mov qword [rbx + 0x30], rdi
call fcn.180042b80
lea rcx, [rbx + 0x38]
mov edx, 0x10
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rbx + 0x28], rax
mov qword [rcx], rdi
mov qword [rcx + 8], rdi
mov qword [rcx + 0x10], rdi
mov qword [rbx + 0x50], 7
mov qword [rbx + 0x58], 8
mov dword [rbx + 0x20], 0x3f800000
mov r8, qword [rbx + 0x28]
call fcn.18001e490
mov qword [rbx + 0x60], 0xffffffffffffffff
mov dword [rbx + 0x68], edi
mov byte [rbx + 0x6c], dil
jmp 0x180077000
mov rbx, rdi
mov r15, qword [0x1802d74c0]
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
sub rax, r15
cmp rax, 5
jb 0x18007742c
cmp qword [0x1802d74c8], 0x10
mov edi, 0xf
mov qword [rsp + 0x100], rsi
xorps xmm0, xmm0
mov qword [rsp + 0x108], r12
lea rsi, [rbp - 0x39]
mov qword [rsp + 0xc8], r13
lea r12, [r15 + 5]
lea r13, [0x1802d74b0]
movaps xmmword [rsp + 0xb0], xmm6
cmovae r13, qword [0x1802d74b0]
xorps xmm1, xmm1
movaps xmmword [rsp + 0xa0], xmm7
movups xmmword [rbp - 0x39], xmm0
movdqu xmmword [rbp - 0x29], xmm1
cmp r12, rdi
jbe 0x1800770fa
mov rdi, r12
or rdi, 0xf
cmp rdi, rcx
jbe 0x1800770bd
movabs rax, 0x8000000000000000
mov rdi, rcx
add rax, 0x27
mov rcx, rax
call fcn.180042b80
test rax, rax
je 0x180077432
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x1800770f6
mov eax, 0x16
cmp rdi, rax
cmovb rdi, rax
lea rcx, [rdi + 1]
cmp rcx, 0x1000
jb 0x1800770e5
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x180077426
jmp 0x18007709e
test rcx, rcx
je 0x1800770f4
call fcn.180042b80
mov rsi, rax
jmp 0x1800770f6
xor esi, esi
mov qword [rbp - 0x39], rsi
mov r8, r15
mov qword [rbp - 0x29], r12
mov rdx, r13
mov qword [rbp - 0x21], rdi
mov rcx, rsi
call fcn.1800431e0
mov eax, dword [str.CFG_]
mov rdx, r14
mov dword [rsi + r15], eax
movzx eax, byte [0x18029c6c0]
mov byte [rsi + r15 + 4], al
mov byte [rsi + r12], 0
cmp qword [r14 + 0x18], 0x10
jb 0x180077138
mov rdx, qword [r14]
mov r8, qword [r14 + 0x10]
lea rcx, [rbp - 0x39]
call fcn.1800758b0
xor edi, edi
xorps xmm0, xmm0
movups xmmword [rbp - 0x59], xmm0
mov qword [rbp - 0x49], rdi
mov qword [rbp - 0x41], rdi
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x59], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x49], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 0xf
mov byte [rax], dil
mov rdx, qword [rbp - 0x41]
mov rcx, qword [rbp - 0x49]
mov rax, rdx
sub rax, rcx
cmp rax, 4
jb 0x1800771af
lea rax, [rcx + 4]
cmp rdx, 0x10
mov qword [rbp - 0x49], rax
lea rax, [rbp - 0x59]
cmovae rax, qword [rbp - 0x59]
mov dword [rax + rcx], 0x6e69622e
mov byte [rax + rcx + 4], dil
lea rax, [rbp - 0x59]
jmp 0x1800771d2
movzx r8d, byte [rbp + 0x67]
lea r9, str..bin
mov edx, 4
mov qword [rsp + 0x20], 4
lea rcx, [rbp - 0x59]
call fcn.1800455d0
movups xmm6, xmmword [rax]
movups xmm7, xmmword [rax + 0x10]
movups xmmword [rbp - 0x19], xmm6
movups xmmword [rbp - 9], xmm7
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 0xf
mov byte [rax], dil
lea rax, [rbp - 0x19]
cmp rbx, rax
je 0x180077245
mov rdx, qword [rbx + 0x18]
cmp rdx, 0x10
jb 0x180077233
mov rcx, qword [rbx]
inc rdx
cmp rdx, 0x1000
jb 0x18007722e
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180077432
mov rcx, r8
call fcn.180042b90
movups xmmword [rbx], xmm6
mov edx, 0xf
mov byte [rbp - 0x19], dil
movups xmmword [rbx + 0x10], xmm7
jmp 0x180077249
mov rdx, qword [rbp - 1]
cmp rdx, 0x10
jb 0x180077280
mov rcx, qword [rbp - 0x19]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18007727b
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180077432
call fcn.180042b90
mov rdx, qword [rbp - 0x41]
cmp rdx, 0x10
jb 0x1800772bb
mov rcx, qword [rbp - 0x59]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800772b6
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180077432
call fcn.180042b90
mov rdx, qword [rbp - 0x21]
mov qword [rbp - 0x49], rdi
mov qword [rbp - 0x41], 0xf
mov byte [rbp - 0x59], dil
cmp rdx, 0x10
jb 0x180077306
mov rcx, qword [rbp - 0x39]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180077301
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180077432
call fcn.180042b90
mov rdx, rbx
mov rcx, rbx
call fcn.180077440
mov rdx, r14
lea rcx, [rbp - 0x19]
call fcn.18000d7c0
lea r8, [rbp - 0x19]
mov qword [rbp + 7], rbx
lea rdx, [rbp - 0x59]
lea rcx, [0x1802ec2f0]
call fcn.180074ee0
mov rbx, qword [rbp + 7]
test rbx, rbx
je 0x18007739d
lea rcx, [rbx + 0x20]
call fcn.1800751c0
mov rdx, qword [rbx + 0x18]
cmp rdx, 0x10
jb 0x180077381
mov rcx, qword [rbx]
inc rdx
cmp rdx, 0x1000
jb 0x18007737c
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180077420
mov rcx, r8
call fcn.180042b90
mov edx, 0x70
mov qword [rbx + 0x10], rdi
mov rcx, rbx
mov qword [rbx + 0x18], 0xf
mov byte [rbx], dil
call fcn.180042b90
mov rdx, qword [rbp - 1]
cmp rdx, 0x10
jb 0x1800773d4
mov rcx, qword [rbp - 0x19]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800773cf
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180077420
call fcn.180042b90
mov rax, qword [rbp - 0x59]
movaps xmm6, xmmword [rsp + 0xb0]
mov rsi, qword [rsp + 0x100]
mov r13, qword [rsp + 0xc8]
mov r12, qword [rsp + 0x108]
movaps xmm7, xmmword [rsp + 0xa0]
mov rbx, qword [rsp + 0xf8]
mov r15, qword [rsp + 0xc0]
mov rax, qword [rax + 0x30]
add rsp, 0xd0
pop r14
pop rdi
pop rbp
ret
call fcn.180040750
int3
call fcn.18000ae70
int3
call fcn.18000ae90
int3
call fcn.180040750
int3