Function at 0x18000fef0
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xa0
mov r12d, edx
mov rbx, rcx
test rcx, rcx
je 0x180010210
mov rax, qword gs:[0x58]
mov r8d, dword [0x1800a9688]
mov esi, 4
mov r15, qword [rax + r8*8]
mov eax, dword [r15 + rsi]
cmp dword [0x1800aa278], eax
jg 0x180010233
mov rax, qword [0x1800aa138]
cmp qword [rax + rbx], 0
je 0x180010210
mov eax, dword [r15 + rsi]
cmp dword [0x1800aa668], eax
jg 0x18001026e
mov rax, qword [0x1800aa518]
cmp qword [rax + rbx], 0
je 0x180010210
mov rcx, rbx
call fcn.18000fe70
mov rdi, qword [rax]
mov eax, dword [r15 + rsi]
cmp dword [0x1800aa668], eax
jg 0x1800102a9
mov rax, qword [0x1800aa518]
lea r13, [0x180082db0]
xor r11d, r11d
mov r14, rdi
mov rbx, qword [rax + rbx]
sub r14, rbx
lea r10, [rbx + 0x20]
nop word [rax + rax]
test rdi, rdi
je 0x180010210
cmp r11d, dword [rdi + 0x18]
jae 0x180010210
mov r8, qword [r14 + r10]
test rbx, rbx
jne 0x18000ffe0
xor esi, esi
jmp 0x18000ffe3
mov rsi, qword [r10]
test r8, r8
je 0x180010045
test rsi, rsi
je 0x180010045
add r8, 0x14
mov edx, 0xffffffff
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp word [r8 + rax*2], 0
jne 0x180010000
test eax, eax
je 0x18001003e
mov r9d, eax
nop dword [rax]
nop word [rax + rax]
movzx eax, word [r8]
lea r8, [r8 + 2]
mov ecx, edx
shr edx, 8
xor rcx, rax
movzx eax, cl
xor edx, dword [r13 + rax*4]
sub r9, 1
jne 0x180010020
not edx
cmp edx, r12d
je 0x180010051
inc r11d
add r10, 8
jmp 0x18000ffc0
movaps xmmword [rsp + 0x90], xmm6
movaps xmmword [rsp + 0x80], xmm7
movaps xmmword [rsp + 0x70], xmm8
call fcn.18000f4e0
mov rcx, rax
call fcn.18000cfd0
mov edi, 4
mov rbx, rax
test rax, rax
jne 0x18001008d
xorps xmm6, xmm6
mov qword [rbp - 0x39], rax
mov dword [rbp - 0x31], eax
jmp 0x1800100cf
mov eax, dword [r15 + rdi]
cmp dword [0x1800aa288], eax
jg 0x1800102e4
mov rdx, qword [0x1800aa1c0]
lea r8, [rbp - 0x29]
xorps xmm0, xmm0
mov dword [rbp - 0x11], 0
mov eax, dword [rbp - 0x11]
lea rcx, [rbp - 0x39]
xorps xmm6, xmm6
mov dword [rbp - 0x21], eax
unpcklps xmm0, xmm6
mov r9, rbx
movsd qword [rbp - 0x29], xmm0
call fcn.1800437b0
call fcn.18000f4e0
mov rcx, rax
call fcn.18000cfd0
mov rbx, rax
test rax, rax
jne 0x1800100ed
mov qword [rbp - 0x49], rax
mov dword [rbp - 0x41], eax
jmp 0x18001012c
mov eax, dword [r15 + rdi]
cmp dword [0x1800aa658], eax
jg 0x180010322
mov rdx, qword [0x1800aa540]
lea r8, [rbp - 0x29]
xorps xmm0, xmm0
mov dword [rbp - 0x11], 0
mov eax, dword [rbp - 0x11]
lea rcx, [rbp - 0x49]
unpcklps xmm0, xmm6
mov r9, rbx
movsd qword [rbp - 0x29], xmm0
mov dword [rbp - 0x21], eax
call fcn.1800437b0
call fcn.18000f4e0
mov rcx, rax
call fcn.18000e6e0
mov rcx, qword [rax]
call fcn.18000e260
lea rcx, [rbp - 9]
movss xmm7, dword [rax + 4]
call fcn.18000e2e0
movss xmm0, dword [rbp - 0x41]
mov ecx, 0x18
movss xmm1, dword [rbp - 0x31]
movss xmm8, dword [rbp - 0x45]
addss xmm7, dword [rax + 4]
movss xmm6, dword [rbp - 0x49]
mulss xmm0, xmm7
mulss xmm8, xmm7
addss xmm1, xmm0
mulss xmm6, xmm7
addss xmm8, dword [rbp - 0x35]
addss xmm6, dword [rbp - 0x39]
movss dword [rbp - 0x11], xmm1
call fcn.18007e5dc
mov ecx, dword [rbp - 0x11]
lea rdx, [rbp - 9]
movaps xmm0, xmm6
mov dword [rbp - 0x21], ecx
unpcklps xmm0, xmm8
mov rcx, rsi
movsd qword [rbp - 0x29], xmm0
mov rdi, rax
call fcn.18000cf10
lea rdx, [rbp - 0x29]
lea rcx, [rbp - 0x39]
movsd xmm0, qword [rax]
mov eax, dword [rax + 8]
movsd qword [rbp - 0x39], xmm0
mov dword [rbp - 0x31], eax
call fcn.18000fc20
lea rdx, [rbp - 0x49]
mov rcx, rsi
movzx ebx, al
call fcn.18000cf10
movaps xmm8, xmmword [rsp + 0x70]
movaps xmm7, xmmword [rsp + 0x80]
movaps xmm6, xmmword [rsp + 0x90]
movsd xmm0, qword [rax]
mov ecx, dword [rax + 8]
mov rax, rdi
movsd qword [rdi], xmm0
mov dword [rdi + 8], ecx
mov byte [rdi + 0xc], bl
mov qword [rdi + 0x10], rsi
jmp 0x180010212
xor eax, eax
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
lea rcx, [0x1800aa278]
call fcn.18007e4cc
cmp dword [0x1800aa278], 0xffffffff
jne 0x18000ff4c
mov ecx, 0xb78ad364
call fcn.1800075b0
lea rcx, [0x1800aa278]
mov qword [0x1800aa138], rax
call fcn.18007e46c
jmp 0x18000ff4c
lea rcx, [0x1800aa668]
call fcn.18007e4cc
cmp dword [0x1800aa668], 0xffffffff
jne 0x18000ff6e
mov ecx, 0x12235404
call fcn.1800075b0
lea rcx, [0x1800aa668]
mov qword [0x1800aa518], rax
call fcn.18007e46c
jmp 0x18000ff6e
lea rcx, [0x1800aa668]
call fcn.18007e4cc
cmp dword [0x1800aa668], 0xffffffff
jne 0x18000ff9b
mov ecx, 0x12235404
call fcn.1800075b0
lea rcx, [0x1800aa668]
mov qword [0x1800aa518], rax
call fcn.18007e46c
jmp 0x18000ff9b
lea rcx, [0x1800aa288]
call fcn.18007e4cc
cmp dword [0x1800aa288], 0xffffffff
jne 0x18001009d
mov ecx, 0x56e64b7d
call fcn.180005200
lea rcx, [0x1800aa288]
mov rdx, qword [rax]
mov qword [0x1800aa1c0], rdx
call fcn.18007e46c
jmp 0x18001009d
lea rcx, [0x1800aa658]
call fcn.18007e4cc
cmp dword [0x1800aa658], 0xffffffff
jne 0x1800100fd
mov ecx, 0x33ac3a8f
call fcn.180005200
lea rcx, [0x1800aa658]
mov rdx, qword [rax]
mov qword [0x1800aa540], rdx
call fcn.18007e46c
jmp 0x1800100fd