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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x20
test rdx, rdx
je 0x14033ecd7
mov r9, rdx
not ecx
cmp r8, 0x2f
jb 0x14033f25f
test r9b, 7
je 0x14033ecec
movzx ebp, cl
shr ecx, 8
lea rbx, [r9 + 1]
movzx eax, byte [r9]
xor ebp, eax
lea rax, [0x1403e1600]
xor ecx, dword [rax + rbp*4]
mov rbp, r8
add rbp, 0xffffffffffffffff
je 0x14033ecde
mov edx, ebx
and edx, 7
test rdx, rdx
je 0x14033ecde
movzx ebp, cl
shr ecx, 8
lea rdi, [r9 + 2]
movzx ebx, byte [r9 + 1]
xor ebp, ebx
xor ecx, dword [rax + rbp*4]
mov rbp, r8
add rbp, 0xfffffffffffffffe
je 0x14033ece6
mov edx, edi
and edx, 7
test rdx, rdx
je 0x14033ece6
movzx ebp, cl
shr ecx, 8
lea rdi, [r9 + 3]
movzx ebx, byte [r9 + 2]
xor ebp, ebx
xor ecx, dword [rax + rbp*4]
mov rbp, r8
add rbp, 0xfffffffffffffffd
je 0x14033ece6
mov edx, edi
and edx, 7
test rdx, rdx
je 0x14033ece6
movzx ebp, cl
shr ecx, 8
lea rdi, [r9 + 4]
movzx ebx, byte [r9 + 3]
xor ebp, ebx
xor ecx, dword [rax + rbp*4]
mov rbp, r8
add rbp, 0xfffffffffffffffc
je 0x14033ece6
mov edx, edi
and edx, 7
test rdx, rdx
je 0x14033ece6
movzx ebp, cl
shr ecx, 8
lea rdi, [r9 + 5]
movzx ebx, byte [r9 + 4]
xor ebp, ebx
xor ecx, dword [rax + rbp*4]
mov rbp, r8
add rbp, 0xfffffffffffffffb
je 0x14033ece6
mov edx, edi
and edx, 7
test rdx, rdx
je 0x14033ece6
movzx ebp, cl
shr ecx, 8
lea rdi, [r9 + 6]
movzx ebx, byte [r9 + 5]
xor ebp, ebx
xor ecx, dword [rax + rbp*4]
mov rbp, r8
add rbp, 0xfffffffffffffffa
je 0x14033ece6
mov edx, edi
and edx, 7
test rdx, rdx
je 0x14033ece6
movzx ebp, cl
shr ecx, 8
lea rdi, [r9 + 7]
movzx ebx, byte [r9 + 6]
xor ebp, ebx
xor ecx, dword [rax + rbp*4]
mov rbp, r8
add rbp, 0xfffffffffffffff9
je 0x14033ece6
mov edx, edi
and edx, 7
test rdx, rdx
je 0x14033ece6
add r8, 0xfffffffffffffff8
movzx edx, cl
shr ecx, 8
movzx ebp, byte [r9 + 7]
add r9, 8
xor edx, ebp
xor ecx, dword [rax + rdx*4]
jmp 0x14033ecec
xor eax, eax
jmp 0x14033f37c
mov r8, rbp
mov r9, rbx
jmp 0x14033ecec
mov r8, rbp
mov r9, rdi
movabs rdx, 0xcccccccccccccccd
mov rax, r8
mul rdx
shr rdx, 5
lea rax, [rdx*8]
lea rbx, [rax + rax*4]
xor r14d, r14d
mov rdi, rdx
add rdi, 0xffffffffffffffff
je 0x14033f030
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], r8
lea rax, [rdx + rdx*4]
lea rax, [r9 + rax*8]
add rax, 0xffffffffffffffd8
mov qword [rsp], rax
lea r11, [0x1403e1a00]
xor esi, esi
xor ebp, ebp
xor r8d, r8d
nop word cs:[rax + rax]
nop
mov qword [rsp + 0x18], rdi
mov edx, ecx
mov r15, qword [r9]
xor rdx, r15
movzx eax, dl
movzx ecx, dh
mov ecx, dword [r11 + rcx*4 + 0x400]
xor ecx, dword [r11 + rax*4]
mov rax, rdx
shr rax, 0xe
and eax, 0x3fc
xor ecx, dword [rax + r11 + 0x800]
shr rdx, 0x16
and edx, 0x3fc
xor ecx, dword [rdx + r11 + 0xc00]
mov r12, qword [r9 + 8]
mov eax, ebp
xor rax, r12
movzx edx, al
movzx ebp, ah
mov ebp, dword [r11 + rbp*4 + 0x400]
xor ebp, dword [r11 + rdx*4]
mov rdx, rax
shr rdx, 0xe
and edx, 0x3fc
xor ebp, dword [rdx + r11 + 0x800]
shr rax, 0x16
and eax, 0x3fc
xor ebp, dword [rax + r11 + 0xc00]
mov edx, r8d
mov r13, qword [r9 + 0x10]
xor rdx, r13
movzx eax, dl
movzx ebx, dh
mov r8d, dword [r11 + rbx*4 + 0x400]
xor r8d, dword [r11 + rax*4]
mov rax, rdx
shr rax, 0xe
and eax, 0x3fc
xor r8d, dword [rax + r11 + 0x800]
shr rdx, 0x16
and edx, 0x3fc
xor r8d, dword [rdx + r11 + 0xc00]
mov ebx, esi
mov rdx, qword [r9 + 0x18]
xor rbx, rdx
movzx edi, bl
movzx esi, bh
mov esi, dword [r11 + rsi*4 + 0x400]
xor esi, dword [r11 + rdi*4]
mov rax, rbx
shr rax, 0xe
and eax, 0x3fc
xor esi, dword [rax + r11 + 0x800]
shr rbx, 0x16
and ebx, 0x3fc
xor esi, dword [rbx + r11 + 0xc00]
mov eax, r14d
mov r10, qword [r9 + 0x20]
xor rax, r10
movzx edi, al
movzx ebx, ah
mov r14d, dword [r11 + rbx*4 + 0x400]
xor r14d, dword [r11 + rdi*4]
mov rdi, rax
shr rdi, 0xe
and edi, 0x3fc
xor r14d, dword [rdi + r11 + 0x800]
shr rax, 0x16
and eax, 0x3fc
xor r14d, dword [rax + r11 + 0xc00]
mov rax, r15
shr rax, 0x1e
and eax, 0x3fc
xor ecx, dword [rax + r11 + 0x1000]
mov rax, r12
shr rax, 0x1e
and eax, 0x3fc
xor ebp, dword [rax + r11 + 0x1000]
mov rax, r13
shr rax, 0x1e
and eax, 0x3fc
xor r8d, dword [rax + r11 + 0x1000]
mov rax, rdx
shr rax, 0x1e
and eax, 0x3fc
xor esi, dword [rax + r11 + 0x1000]
mov rax, r10
shr rax, 0x1e
and eax, 0x3fc
xor r14d, dword [rax + r11 + 0x1000]
mov rax, r15
shr rax, 0x26
and eax, 0x3fc
xor ecx, dword [rax + r11 + 0x1400]
mov rax, r12
shr rax, 0x26
and eax, 0x3fc
xor ebp, dword [rax + r11 + 0x1400]
mov rax, r13
shr rax, 0x26
and eax, 0x3fc
xor r8d, dword [rax + r11 + 0x1400]
mov rax, rdx
shr rax, 0x26
and eax, 0x3fc
xor esi, dword [rax + r11 + 0x1400]
mov rax, r10
shr rax, 0x26
and eax, 0x3fc
xor r14d, dword [rax + r11 + 0x1400]
mov rax, r15
shr rax, 0x2e
and eax, 0x3fc
xor ecx, dword [rax + r11 + 0x1800]
mov rax, r12
shr rax, 0x2e
and eax, 0x3fc
xor ebp, dword [rax + r11 + 0x1800]
mov rax, r13
shr rax, 0x2e
and eax, 0x3fc
xor r8d, dword [rax + r11 + 0x1800]
mov rax, rdx
shr rax, 0x2e
and eax, 0x3fc
xor esi, dword [rax + r11 + 0x1800]
mov rax, r10
shr rax, 0x2e
and eax, 0x3fc
xor r14d, dword [rax + r11 + 0x1800]
shr r15, 0x38
xor ecx, dword [r11 + r15*4 + 0x1c00]
shr r12, 0x38
xor ebp, dword [r11 + r12*4 + 0x1c00]
shr r13, 0x38
xor r8d, dword [r11 + r13*4 + 0x1c00]
shr rdx, 0x38
xor esi, dword [r11 + rdx*4 + 0x1c00]
shr r10, 0x38
xor r14d, dword [r11 + r10*4 + 0x1c00]
mov rdi, qword [rsp + 0x18]
add r9, 0x28
add rdi, 0xffffffffffffffff
jne 0x14033ed50
mov ebp, ebp
mov r11d, r14d
mov r14d, r8d
mov esi, esi
mov r9, qword [rsp]
mov r8, qword [rsp + 0x10]
mov rbx, qword [rsp + 8]
jmp 0x14033f037
xor ebp, ebp
xor esi, esi
xor r11d, r11d
mov eax, ecx
xor rax, qword [r9]
movzx ecx, al
shr rax, 8
lea rdx, [0x1403e1600]
mov ecx, dword [rdx + rcx*4]
xor rcx, rax
movzx eax, cl
shr rcx, 8
mov eax, dword [rdx + rax*4]
xor rax, rcx
movzx ecx, al
shr rax, 8
mov ecx, dword [rdx + rcx*4]
xor rcx, rax
movzx eax, cl
shr rcx, 8
mov eax, dword [rdx + rax*4]
xor rax, rcx
movzx ecx, al
shr rax, 8
mov ecx, dword [rdx + rcx*4]
xor rcx, rax
movzx eax, cl
shr rcx, 8
mov eax, dword [rdx + rax*4]
xor rax, rcx
movzx ecx, al
shr rax, 8
mov ecx, dword [rdx + rcx*4]
xor rcx, rax
movzx eax, cl
shr rcx, 8
xor ecx, dword [rdx + rax*4]
xor rbp, qword [r9 + 8]
xor rcx, rbp
movzx eax, cl
shr rcx, 8
mov eax, dword [rdx + rax*4]
xor rax, rcx
movzx ecx, al
shr rax, 8
mov ecx, dword [rdx + rcx*4]
xor rcx, rax
movzx eax, cl
shr rcx, 8
mov eax, dword [rdx + rax*4]
xor rax, rcx
movzx ecx, al
shr rax, 8
mov ecx, dword [rdx + rcx*4]
xor rcx, rax
movzx eax, cl
shr rcx, 8
mov eax, dword [rdx + rax*4]
xor rax, rcx
movzx ecx, al
shr rax, 8
mov ecx, dword [rdx + rcx*4]
xor rcx, rax
movzx eax, cl
shr rcx, 8
mov eax, dword [rdx + rax*4]
xor rax, rcx
movzx ecx, al
shr rax, 8
xor eax, dword [rdx + rcx*4]
xor r14, qword [r9 + 0x10]
xor rax, r14
movzx ecx, al
shr rax, 8
mov ecx, dword [rdx + rcx*4]
xor rcx, rax
movzx eax, cl
shr rcx, 8
mov eax, dword [rdx + rax*4]
xor rax, rcx
movzx ecx, al
shr rax, 8
mov ecx, dword [rdx + rcx*4]
xor rcx, rax
movzx eax, cl
shr rcx, 8
mov eax, dword [rdx + rax*4]
xor rax, rcx
movzx ecx, al
shr rax, 8
mov ecx, dword [rdx + rcx*4]
xor rcx, rax
movzx eax, cl
shr rcx, 8
mov eax, dword [rdx + rax*4]
xor rax, rcx
movzx ecx, al
shr rax, 8
mov ecx, dword [rdx + rcx*4]
xor rcx, rax
movzx eax, cl
shr rcx, 8
xor ecx, dword [rdx + rax*4]
sub r8, rbx
xor rsi, qword [r9 + 0x18]
xor rcx, rsi
movzx eax, cl
shr rcx, 8
mov eax, dword [rdx + rax*4]
xor rax, rcx
movzx ecx, al
shr rax, 8
mov ecx, dword [rdx + rcx*4]
xor rcx, rax
movzx eax, cl
shr rcx, 8
mov eax, dword [rdx + rax*4]
xor rax, rcx
movzx ecx, al
shr rax, 8
mov ecx, dword [rdx + rcx*4]
xor rcx, rax
movzx eax, cl
shr rcx, 8
mov eax, dword [rdx + rax*4]
xor rax, rcx
movzx ecx, al
shr rax, 8
mov ecx, dword [rdx + rcx*4]
xor rcx, rax
movzx eax, cl
shr rcx, 8
mov eax, dword [rdx + rax*4]
xor rax, rcx
movzx ecx, al
shr rax, 8
xor eax, dword [rdx + rcx*4]
xor r11, qword [r9 + 0x20]
xor rax, r11
movzx ecx, al
shr rax, 8
mov ecx, dword [rdx + rcx*4]
xor rcx, rax
movzx eax, cl
shr rcx, 8
mov eax, dword [rdx + rax*4]
xor rax, rcx
movzx ecx, al
shr rax, 8
mov ecx, dword [rdx + rcx*4]
xor rcx, rax
movzx eax, cl
shr rcx, 8
mov eax, dword [rdx + rax*4]
xor rax, rcx
movzx ecx, al
shr rax, 8
mov ecx, dword [rdx + rcx*4]
xor rcx, rax
movzx eax, cl
shr rcx, 8
mov eax, dword [rdx + rax*4]
xor rax, rcx
movzx ecx, al
shr rax, 8
mov ecx, dword [rdx + rcx*4]
xor rcx, rax
movzx eax, cl
shr rcx, 8
xor ecx, dword [rdx + rax*4]
add r9, 0x28
cmp r8, 8
jb 0x14033f301
lea rax, [0x1403e1600]
add r8, 0xfffffffffffffff8
movzx edx, cl
shr ecx, 8
movzx ebp, byte [r9]
xor edx, ebp
xor ecx, dword [rax + rdx*4]
movzx edx, cl
shr ecx, 8
movzx ebp, byte [r9 + 1]
xor edx, ebp
xor ecx, dword [rax + rdx*4]
movzx edx, cl
shr ecx, 8
movzx ebp, byte [r9 + 2]
xor edx, ebp
xor ecx, dword [rax + rdx*4]
movzx edx, cl
shr ecx, 8
movzx ebp, byte [r9 + 3]
xor edx, ebp
xor ecx, dword [rax + rdx*4]
movzx edx, cl
shr ecx, 8
movzx ebp, byte [r9 + 4]
xor edx, ebp
xor ecx, dword [rax + rdx*4]
movzx edx, cl
shr ecx, 8
movzx ebp, byte [r9 + 5]
xor edx, ebp
xor ecx, dword [rax + rdx*4]
movzx edx, cl
shr ecx, 8
movzx ebp, byte [r9 + 6]
xor edx, ebp
xor ecx, dword [rax + rdx*4]
movzx edx, cl
shr ecx, 8
movzx ebp, byte [r9 + 7]
add r9, 8
xor edx, ebp
xor ecx, dword [rax + rdx*4]
cmp r8, 7
ja 0x14033f270
test r8, r8
je 0x14033f317
test r8b, 1
jne 0x14033f31b
mov rdx, r8
cmp r8, 1
jne 0x14033f344
jmp 0x14033f37a
mov eax, ecx
jmp 0x14033f37a
lea rdx, [r8 - 1]
mov eax, ecx
shr eax, 8
movzx ebp, byte [r9]
add r9, 1
movzx ecx, cl
xor ecx, ebp
lea rbp, [0x1403e1600]
xor eax, dword [rbp + rcx*4]
mov ecx, eax
cmp r8, 1
je 0x14033f37a
xor ebp, ebp
lea rbx, [0x1403e1600]
mov eax, ecx
nop
movzx ecx, al
shr eax, 8
movzx edi, byte [r9 + rbp]
xor ecx, edi
xor eax, dword [rbx + rcx*4]
movzx ecx, al
shr eax, 8
movzx edi, byte [r9 + rbp + 1]
xor ecx, edi
xor eax, dword [rbx + rcx*4]
add rbp, 2
cmp rdx, rbp
jne 0x14033f350
not eax
add rsp, 0x20
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r8d, r8d
jmp 0x14033eb50