Function at 0x1400049a0
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, 0x48
test rdx, rdx
je 0x140004a07
mov rbx, rdx
mov r14d, r8d
not ecx
cmp r8d, 0x2f
jae 0x140004a9c
cmp r14, 8
jae 0x140004a0f
test r14, r14
je 0x140004a0b
xor edx, edx
lea r8, [0x14000c280]
mov eax, ecx
xor cl, byte [rbx + rdx]
shr eax, 8
movzx ecx, cl
xor eax, dword [r8 + rcx*4]
inc rdx
mov ecx, eax
cmp r14, rdx
jne 0x1400049db
not eax
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor eax, eax
jmp 0x1400049f6
mov eax, ecx
jmp 0x1400049f4
lea rax, [0x14000c280]
mov edx, ecx
xor cl, byte [rbx]
shr edx, 8
movzx ecx, cl
xor edx, dword [rax + rcx*4]
mov ecx, edx
xor dl, byte [rbx + 1]
shr ecx, 8
movzx edx, dl
xor ecx, dword [rax + rdx*4]
mov edx, ecx
xor cl, byte [rbx + 2]
shr edx, 8
movzx ecx, cl
xor edx, dword [rax + rcx*4]
mov ecx, edx
xor dl, byte [rbx + 3]
shr ecx, 8
movzx edx, dl
xor ecx, dword [rax + rdx*4]
mov edx, ecx
xor cl, byte [rbx + 4]
shr edx, 8
movzx ecx, cl
xor edx, dword [rax + rcx*4]
add r14, 0xfffffffffffffff8
mov ecx, edx
xor dl, byte [rbx + 5]
shr ecx, 8
movzx edx, dl
xor ecx, dword [rax + rdx*4]
mov edx, ecx
shr edx, 8
xor cl, byte [rbx + 6]
movzx ecx, cl
xor edx, dword [rax + rcx*4]
mov ecx, edx
shr ecx, 8
xor dl, byte [rbx + 7]
add rbx, 8
movzx edx, dl
xor ecx, dword [rax + rdx*4]
cmp r14, 7
jbe 0x1400049cd
jmp 0x140004a16
test bl, 7
je 0x140004ade
lea rax, [rbx + 1]
lea rdx, [0x14000c280]
mov r8, r14
dec r14
mov r9d, ecx
shr r9d, 8
xor cl, byte [rbx]
inc rbx
movzx r10d, cl
mov ecx, r9d
xor ecx, dword [rdx + r10*4]
cmp r8, 1
je 0x140004ade
mov r8d, eax
and r8d, 7
inc rax
test r8, r8
jne 0x140004aac
movabs rdx, 0xcccccccccccccccd
mov rax, r14
mul rdx
shr rdx, 5
lea rax, [rdx*8]
lea r10, [rax + rax*4]
xor r8d, r8d
dec rdx
je 0x14000511d
mov qword [rsp], r10
mov qword [rsp + 8], r14
lea rsi, [0x14000c680]
mov edi, 0x3fc
mov qword [rsp + 0x10], rbx
mov r10, rbx
xor ebp, ebp
xor r15d, r15d
xor r14d, r14d
mov qword [rsp + 0x40], rdx
mov r12d, ecx
mov rcx, qword [r10]
mov qword [rsp + 0x18], rcx
mov rax, qword [r10 + 8]
mov qword [rsp + 0x20], rax
xor r12, rcx
mov r13d, r15d
xor r13, rax
mov ebx, r14d
mov rax, qword [r10 + 0x10]
mov qword [rsp + 0x28], rax
xor rbx, rax
mov eax, ebp
mov rcx, qword [r10 + 0x18]
mov qword [rsp + 0x30], rcx
xor rax, rcx
mov r11d, r8d
mov rcx, qword [r10 + 0x20]
mov qword [rsp + 0x38], rcx
xor r11, rcx
mov r14, r12
mov r9d, 0xff
and r14, r9
mov rbp, r13
and rbp, r9
mov rdx, rbx
and rdx, r9
mov r8, rax
and r8, r9
mov rcx, r12
shr rcx, 8
and rcx, r9
mov ecx, dword [rsi + rcx*4 + 0x400]
xor ecx, dword [rsi + r14*4]
mov r14, r13
shr r14, 8
and r14, r9
mov r15d, dword [rsi + r14*4 + 0x400]
xor r15d, dword [rsi + rbp*4]
mov r14, rbx
shr r14, 8
and r14, r9
mov r14d, dword [rsi + r14*4 + 0x400]
xor r14d, dword [rsi + rdx*4]
mov rdx, rax
shr rdx, 8
and rdx, r9
mov ebp, dword [rsi + rdx*4 + 0x400]
xor ebp, dword [rsi + r8*4]
mov rdx, r11
and rdx, r9
mov r8, r11
shr r8, 8
and r8, r9
mov r8d, dword [rsi + r8*4 + 0x400]
xor r8d, dword [rsi + rdx*4]
mov rdx, r12
shr rdx, 0xe
and rdx, rdi
xor ecx, dword [rdx + rsi + 0x800]
mov rdx, r13
shr rdx, 0xe
and rdx, rdi
xor r15d, dword [rdx + rsi + 0x800]
mov rdx, rbx
shr rdx, 0xe
and rdx, rdi
xor r14d, dword [rdx + rsi + 0x800]
mov rdx, rax
shr rdx, 0xe
and rdx, rdi
xor ebp, dword [rdx + rsi + 0x800]
mov rdx, r11
shr rdx, 0xe
and rdx, rdi
xor r8d, dword [rdx + rsi + 0x800]
mov rdx, qword [rsp + 0x40]
shr r12, 0x16
and r12, rdi
xor ecx, dword [r12 + rsi + 0xc00]
shr r13, 0x16
and r13, rdi
xor r15d, dword [r13 + rsi + 0xc00]
shr rbx, 0x16
and rbx, rdi
xor r14d, dword [rbx + rsi + 0xc00]
shr rax, 0x16
and rax, rdi
xor ebp, dword [rax + rsi + 0xc00]
shr r11, 0x16
and r11, rdi
xor r8d, dword [r11 + rsi + 0xc00]
mov r11, qword [rsp + 0x18]
mov rax, r11
shr rax, 0x1e
and rax, rdi
xor ecx, dword [rax + rsi + 0x1000]
mov r9, qword [rsp + 0x20]
mov rax, r9
shr rax, 0x1e
and rax, rdi
xor r15d, dword [rax + rsi + 0x1000]
mov rbx, qword [rsp + 0x28]
mov rax, rbx
shr rax, 0x1e
and rax, rdi
xor r14d, dword [rax + rsi + 0x1000]
mov r12, qword [rsp + 0x30]
mov rax, r12
shr rax, 0x1e
and rax, rdi
xor ebp, dword [rax + rsi + 0x1000]
mov r13, qword [rsp + 0x38]
mov rax, r13
shr rax, 0x1e
and rax, rdi
xor r8d, dword [rax + rsi + 0x1000]
mov rax, r11
shr rax, 0x26
and rax, rdi
xor ecx, dword [rax + rsi + 0x1400]
mov rax, r9
shr rax, 0x26
and rax, rdi
xor r15d, dword [rax + rsi + 0x1400]
mov rax, rbx
shr rax, 0x26
and rax, rdi
xor r14d, dword [rax + rsi + 0x1400]
mov rax, r12
shr rax, 0x26
and rax, rdi
xor ebp, dword [rax + rsi + 0x1400]
mov rax, r13
shr rax, 0x26
and rax, rdi
xor r8d, dword [rax + rsi + 0x1400]
mov rax, r11
shr rax, 0x2e
and rax, rdi
xor ecx, dword [rax + rsi + 0x1800]
mov rax, r9
shr rax, 0x2e
and rax, rdi
xor r15d, dword [rax + rsi + 0x1800]
mov rax, rbx
shr rax, 0x2e
and rax, rdi
xor r14d, dword [rax + rsi + 0x1800]
mov rax, r12
shr rax, 0x2e
and rax, rdi
xor ebp, dword [rax + rsi + 0x1800]
mov rax, r13
shr rax, 0x2e
and rax, rdi
xor r8d, dword [rax + rsi + 0x1800]
mov rax, r11
shr rax, 0x38
xor ecx, dword [rsi + rax*4 + 0x1c00]
mov rax, r9
shr rax, 0x38
xor r15d, dword [rsi + rax*4 + 0x1c00]
mov rax, rbx
shr rax, 0x38
xor r14d, dword [rsi + rax*4 + 0x1c00]
mov rax, r12
shr rax, 0x38
xor ebp, dword [rsi + rax*4 + 0x1c00]
mov rax, r13
shr rax, 0x38
xor r8d, dword [rsi + rax*4 + 0x1c00]
add r10, 0x28
dec rdx
jne 0x140004b2f
mov rbx, qword [rsp + 0x10]
mov r10, qword [rsp]
add rbx, r10
add rbx, 0xffffffffffffffd8
mov eax, r15d
mov esi, r8d
mov r8d, r14d
mov edi, ebp
mov r14, qword [rsp + 8]
mov ecx, ecx
xor rcx, qword [rbx]
mov r9, rcx
shr r9, 8
mov edx, 0xff
and rcx, rdx
lea r11, [0x14000c280]
mov ecx, dword [r11 + rcx*4]
xor rcx, r9
mov r9, rcx
shr r9, 8
and rcx, rdx
mov ecx, dword [r11 + rcx*4]
xor rcx, r9
mov r9, rcx
shr r9, 8
and rcx, rdx
mov ecx, dword [r11 + rcx*4]
xor rcx, r9
mov r9, rcx
shr r9, 8
and rcx, rdx
mov ecx, dword [r11 + rcx*4]
xor rcx, r9
mov r9, rcx
shr r9, 8
and rcx, rdx
mov ecx, dword [r11 + rcx*4]
xor rcx, r9
mov r9, rcx
shr r9, 8
and rcx, rdx
mov ecx, dword [r11 + rcx*4]
xor rcx, r9
mov r9, rcx
shr r9, 8
and rcx, rdx
mov ecx, dword [r11 + rcx*4]
xor rcx, r9
mov r9, rcx
shr r9, 8
and rcx, rdx
xor r9d, dword [r11 + rcx*4]
xor r9, rax
xor r9, qword [rbx + 8]
mov rax, r9
shr rax, 8
and r9, rdx
mov ecx, dword [r11 + r9*4]
xor rcx, rax
mov rax, rcx
shr rax, 8
and rcx, rdx
mov ecx, dword [r11 + rcx*4]
xor rcx, rax
mov rax, rcx
shr rax, 8
and rcx, rdx
mov ecx, dword [r11 + rcx*4]
xor rcx, rax
mov rax, rcx
shr rax, 8
and rcx, rdx
mov ecx, dword [r11 + rcx*4]
xor rcx, rax
mov rax, rcx
shr rax, 8
and rcx, rdx
mov ecx, dword [r11 + rcx*4]
xor rcx, rax
mov rax, rcx
shr rax, 8
and rcx, rdx
mov ecx, dword [r11 + rcx*4]
xor rcx, rax
mov rax, rcx
shr rax, 8
and rcx, rdx
mov ecx, dword [r11 + rcx*4]
xor rcx, rax
mov rax, rcx
shr rax, 8
and rcx, rdx
xor eax, dword [r11 + rcx*4]
xor rax, r8
xor rax, qword [rbx + 0x10]
mov rcx, rax
shr rcx, 8
and rax, rdx
mov eax, dword [r11 + rax*4]
xor rax, rcx
mov rcx, rax
shr rcx, 8
and rax, rdx
mov eax, dword [r11 + rax*4]
xor rax, rcx
mov rcx, rax
shr rcx, 8
and rax, rdx
mov eax, dword [r11 + rax*4]
xor rax, rcx
mov rcx, rax
shr rcx, 8
and rax, rdx
mov eax, dword [r11 + rax*4]
xor rax, rcx
mov rcx, rax
shr rcx, 8
and rax, rdx
mov eax, dword [r11 + rax*4]
xor rax, rcx
mov rcx, rax
shr rcx, 8
and rax, rdx
mov eax, dword [r11 + rax*4]
xor rax, rcx
mov rcx, rax
shr rcx, 8
and rax, rdx
mov eax, dword [r11 + rax*4]
xor rax, rcx
mov rcx, rax
shr rcx, 8
and rax, rdx
xor ecx, dword [r11 + rax*4]
sub r14, r10
xor rcx, rdi
xor rcx, qword [rbx + 0x18]
mov rax, rcx
shr rax, 8
and rcx, rdx
mov ecx, dword [r11 + rcx*4]
xor rcx, rax
mov rax, rcx
shr rax, 8
and rcx, rdx
mov ecx, dword [r11 + rcx*4]
xor rcx, rax
mov rax, rcx
shr rax, 8
and rcx, rdx
mov ecx, dword [r11 + rcx*4]
xor rcx, rax
mov rax, rcx
shr rax, 8
and rcx, rdx
mov ecx, dword [r11 + rcx*4]
xor rcx, rax
mov rax, rcx
shr rax, 8
and rcx, rdx
mov ecx, dword [r11 + rcx*4]
xor rcx, rax
mov rax, rcx
shr rax, 8
and rcx, rdx
mov ecx, dword [r11 + rcx*4]
xor rcx, rax
mov rax, rcx
shr rax, 8
and rcx, rdx
mov ecx, dword [r11 + rcx*4]
xor rcx, rax
mov rax, rcx
shr rax, 8
and rcx, rdx
xor eax, dword [r11 + rcx*4]
xor rax, rsi
xor rax, qword [rbx + 0x20]
mov rcx, rax
shr rcx, 8
and rax, rdx
mov eax, dword [r11 + rax*4]
xor rax, rcx
mov rcx, rax
shr rcx, 8
and rax, rdx
mov eax, dword [r11 + rax*4]
xor rax, rcx
mov rcx, rax
shr rcx, 8
and rax, rdx
mov eax, dword [r11 + rax*4]
xor rax, rcx
mov rcx, rax
shr rcx, 8
and rax, rdx
mov eax, dword [r11 + rax*4]
xor rax, rcx
mov rcx, rax
shr rcx, 8
and rax, rdx
mov eax, dword [r11 + rax*4]
xor rax, rcx
mov rcx, rax
shr rcx, 8
and rax, rdx
mov eax, dword [r11 + rax*4]
xor rax, rcx
mov rcx, rax
shr rcx, 8
and rax, rdx
mov eax, dword [r11 + rax*4]
xor rax, rcx
mov rcx, rax
shr rcx, 8
and rax, rdx
xor ecx, dword [r11 + rax*4]
add rbx, 0x28
jmp 0x1400049c7
xor eax, eax
xor edi, edi
xor esi, esi
jmp 0x140004e4b