Function at 0x18001dad0
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 0x18001dd69
mov rax, qword gs:[0x58]
mov r8d, dword [0x1802865cc]
mov ecx, 4
mov r15, qword [rax + r8*8]
mov eax, dword [r15 + rcx]
cmp dword [0x1802ad51c], eax
jg 0x18001dd8c
jmp 0x18001db33
mov ecx, 4
mov rax, qword [0x1802ad258]
cmp qword [rax + rbx], 0
je 0x18001dd69
mov eax, dword [r15 + rcx]
cmp dword [0x1802ae134], eax
jg 0x18001ddc7
mov rax, qword [0x1802adc08]
cmp qword [rax + rbx], 0
je 0x18001dd69
mov rcx, rbx
call fcn.18001da50
mov rcx, rbx
mov rdi, qword [rax]
call fcn.18001d9d0
mov r14, rdi
xor r11d, r11d
mov rsi, qword [rax]
sub r14, rsi
lea r10, [rsi + 0x20]
test rdi, rdi
je 0x18001dd69
lea r13, [0x18016c620]
cmp r11d, dword [rdi + 0x18]
jae 0x18001dd69
mov r8, qword [r14 + r10]
test rsi, rsi
jne 0x18001dbb1
xor ebx, ebx
jmp 0x18001dbb4
mov rbx, qword [r10]
test r8, r8
je 0x18001dc15
test rbx, rbx
je 0x18001dc15
add r8, 0x14
mov edx, 0xffffffff
mov rax, 0xffffffffffffffff
nop
inc rax
cmp word [r8 + rax*2], 0
jne 0x18001dbd0
test eax, eax
je 0x18001dc0e
mov r9d, eax
nop dword [rax]
nop word [rax + rax]
movzx ecx, word [r8]
lea r8, [r8 + 2]
mov eax, edx
shr edx, 8
xor rcx, rax
movzx eax, cl
xor edx, dword [r13 + rax*4]
sub r9, 1
jne 0x18001dbf0
not edx
cmp edx, r12d
je 0x18001dc21
inc r11d
add r10, 8
jmp 0x18001db9a
movaps xmmword [rsp + 0x90], xmm6
mov ecx, 0x18
movaps xmmword [rsp + 0x80], xmm7
call fcn.1800e164c
mov rdi, rax
call fcn.18001d2a0
mov rcx, rax
call fcn.18001c270
xorps xmm6, xmm6
mov r12d, 4
mov rsi, qword [rax]
test rsi, rsi
jne 0x18001dc65
mov qword [rbp - 0x39], rsi
mov dword [rbp - 0x31], esi
jmp 0x18001dc82
mov eax, dword [r15 + r12]
cmp dword [0x1802adc70], eax
jg 0x18001de02
mov rdx, rsi
lea rcx, [rbp - 0x39]
call qword [0x1802ad230]
mov eax, dword [r15 + r12]
cmp dword [0x1802ad528], eax
movsd xmm7, qword [rbp - 0x39]
mov esi, dword [rbp - 0x31]
jg 0x18001de40
mov rdx, qword [0x1802ad3f0]
lea r8, [rbp - 0x29]
xorps xmm0, xmm0
movss dword [rbp - 0x21], xmm6
unpcklps xmm0, xmm6
lea rcx, [rbp - 0x19]
mov r9, rbx
movsd qword [rbp - 0x29], xmm0
call fcn.18009bd30
mov r9, qword [0x180286ce0]
lea rdx, [rbp - 0x29]
movsd xmm0, qword [rbp - 0x19]
lea rcx, [rbp - 9]
mov eax, dword [rbp - 0x11]
xor r14d, r14d
add r9, 0x81b960
movsd qword [rbp - 0x29], xmm7
xorps xmm3, xmm3
mov dword [rbp - 0x21], esi
mov r8d, 0x19a12101
movsd qword [rbp - 9], xmm0
mov dword [rbp - 1], eax
mov qword [rsp + 0x20], r14
call r9
mov edx, dword [r15 + r12]
movzx esi, al
cmp dword [0x1802ad528], edx
movaps xmm7, xmmword [rsp + 0x80]
jg 0x18001de7e
mov rdx, qword [0x1802ad3f0]
lea r8, [rbp - 9]
xorps xmm0, xmm0
movss dword [rbp - 1], xmm6
unpcklps xmm0, xmm6
lea rcx, [rbp + 7]
mov r9, rbx
movsd qword [rbp - 9], xmm0
call fcn.18009bd30
movsd xmm0, qword [rbp + 7]
movaps xmm6, xmmword [rsp + 0x90]
movsd qword [rdi], xmm0
mov eax, dword [rbp + 0xf]
mov dword [rdi + 8], eax
mov rax, rdi
mov byte [rdi + 0xc], sil
mov qword [rdi + 0x10], r14
jmp 0x18001dd6b
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, [0x1802ad51c]
call fcn.1800e1a98
cmp dword [0x1802ad51c], 0xffffffff
jne 0x18001db2e
mov ecx, 0xb78ad364
call fcn.1800119f0
lea rcx, [0x1802ad51c]
mov qword [0x1802ad258], rax
call fcn.1800e1a2c
jmp 0x18001db2e
lea rcx, [0x1802ae134]
call fcn.1800e1a98
cmp dword [0x1802ae134], 0xffffffff
jne 0x18001db55
mov ecx, 0x12235404
call fcn.1800119f0
lea rcx, [0x1802ae134]
mov qword [0x1802adc08], rax
call fcn.1800e1a2c
jmp 0x18001db55
lea rcx, [0x1802adc70]
call fcn.1800e1a98
cmp dword [0x1802adc70], 0xffffffff
jne 0x18001dc75
mov ecx, 0xf3daab4b
call fcn.18000ef10
lea rcx, [0x1802adc70]
mov r8, qword [rax]
mov qword [0x1802ad230], r8
call fcn.1800e1a2c
jmp 0x18001dc75
lea rcx, [0x1802ad528]
call fcn.1800e1a98
cmp dword [0x1802ad528], 0xffffffff
jne 0x18001dc9a
mov ecx, 0x56e64b7d
call fcn.18000ef10
mov rcx, qword [rax]
mov qword [0x1802ad3f0], rcx
lea rcx, [0x1802ad528]
call fcn.1800e1a2c
jmp 0x18001dc9a
lea rcx, [0x1802ad528]
call fcn.1800e1a98
cmp dword [0x1802ad528], 0xffffffff
jne 0x18001dd1e
mov ecx, 0x56e64b7d
call fcn.18000ef10
lea rcx, [0x1802ad528]
mov rdx, qword [rax]
mov qword [0x1802ad3f0], rdx
call fcn.1800e1a2c
jmp 0x18001dd1e