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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x70
mov rbp, qword [rcx + 0x50]
mov r12, r8
movsxd r15, r9d
mov rbx, rcx
cmp dword [rbp + 0x14], 0
jne 0x1400d9eee
call fcn.1400d9860
lea rax, [rsp + 0x20]
mov r10d, 0x4e
lea rdx, [rsp + 0x20]
mov r9d, r10d
test al, 3
je 0x1400d9f1b
mov rax, r9
dec r9
test rax, rax
je 0x1400d9f5a
mov byte [rdx], 0
inc rdx
test dl, 3
jne 0x1400d9f05
mov r8, r9
shr r9, 2
and r8d, 3
test r9, r9
je 0x1400d9f39
mov rdi, rdx
xor eax, eax
mov rcx, r9
lea rdx, [rdx + r9*4]
rep stosd dword [rdi], eax
sub r8, 1
je 0x1400d9f57
sub r8, 1
je 0x1400d9f51
cmp r8, 1
jne 0x1400d9f5a
mov byte [rdx], 0
inc rdx
mov byte [rdx], 0
inc rdx
mov byte [rdx], 0
mov eax, dword [rbp + 0x10]
test eax, eax
je 0x1400d9f6a
mov word [rsp + 0x20], 0x231
jmp 0x1400d9f6f
mov byte [rsp + 0x20], 2
test eax, eax
mov esi, r10d
mov ecx, 0x30
mov rdx, r12
cmove esi, ecx
xor edi, edi
test eax, eax
mov r14d, edi
mov rax, r15
lea r15, [rsp + 0x20]
setne r14b
inc r14
sub r10, r14
add r15, r14
cmp r10, rax
mov rcx, r15
cmovae r10, rax
mov r8, r10
call fcn.140039560
cmp dword [rbp + 0x10], edi
je 0x1400da0a6
mov edx, 0xeada2d49
lea r10, [rsi - 4]
mov r9d, edi
mov r11d, 0xff000000
nop dword [rax + rax]
movzx ecx, byte [rsp + r9 + 0x20]
movzx eax, dl
xor ecx, eax
mov eax, 0xedb88320
test cl, 1
cmovne eax, edi
shr ecx, 1
xor eax, ecx
mov ecx, 0xedb88320
test al, 1
cmovne ecx, edi
shr eax, 1
xor ecx, eax
mov eax, 0xedb88320
test cl, 1
cmovne eax, edi
shr ecx, 1
xor eax, ecx
mov ecx, 0xedb88320
test al, 1
cmovne ecx, edi
shr eax, 1
xor ecx, eax
mov eax, 0xedb88320
test cl, 1
cmovne eax, edi
shr ecx, 1
xor eax, ecx
mov ecx, 0xedb88320
test al, 1
cmovne ecx, edi
shr eax, 1
xor ecx, eax
mov eax, 0xedb88320
test cl, 1
cmovne eax, edi
shr edx, 7
shr ecx, 1
xor eax, ecx
xor edx, eax
shr edx, 1
test al, 1
mov eax, 0x12b88320
cmovne eax, r11d
inc r9
xor edx, eax
cmp r9, r10
jb 0x1400d9fd0
lea rcx, [rsp + rsi + 0x1c]
mov dword [rsp + 0xb8], edx
mov rax, rcx
lea r8, [rsp + 0xa0]
or rax, r8
test al, 3
jne 0x1400da083
mov dword [rcx], edx
jmp 0x1400da0a6
movzx eax, byte [rsp + 0xb9]
mov byte [rcx], dl
mov byte [rcx + 1], al
movzx eax, byte [rsp + 0xba]
mov byte [rcx + 2], al
movzx eax, byte [rsp + 0xbb]
mov byte [rcx + 3], al
call fcn.1400db180
test eax, eax
js 0x1400da132
mov rcx, qword [0x140186010]
test rcx, rcx
je 0x1400da11e
nop
cmp qword [rcx], rbx
mov rax, rcx
mov rcx, qword [rcx + 0x90]
cmovne rax, rdi
mov rdi, rax
test rcx, rcx
jne 0x1400da0c0
test rax, rax
je 0x1400da11e
lea rcx, [rax + 8]
cmp esi, dword [rax + 0x88]
jne 0x1400da11e
movzx eax, byte [r14 + rcx]
cmp byte [r15], al
jne 0x1400da11e
movzx eax, byte [r14 + rcx + 1]
cmp byte [r15 + 1], al
jne 0x1400da11e
mov r8d, esi
lea rdx, [rsp + 0x20]
call fcn.140039560
mov rcx, qword [0x140185ff8]
call qword [0x140183a30]
xor eax, eax
jmp 0x1400da137
mov r8d, esi
lea rdx, [rsp + 0x20]
mov rcx, rbx
call fcn.1400db220
cmp eax, esi
je 0x1400da11a
mov eax, 0xffffffff
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret