Function at 0x140003aa0
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 0x140003b08
mov r15, rdx
mov ebx, r8d
not ecx
cmp r8d, 0x2f
jae 0x140003ba5
cmp rbx, 8
jae 0x140003b10
test rbx, rbx
je 0x140003b0c
xor edx, edx
lea r8, [0x14000c280]
mov eax, ecx
xor cl, byte [r15 + rdx]
shr eax, 8
movzx ecx, cl
xor eax, dword [r8 + rcx*4]
inc rdx
mov ecx, eax
cmp rbx, rdx
jne 0x140003adb
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 0x140003af7
mov eax, ecx
jmp 0x140003af5
lea rax, [0x14000c280]
mov edx, ecx
xor cl, byte [r15]
shr edx, 8
movzx ecx, cl
xor edx, dword [rax + rcx*4]
mov ecx, edx
xor dl, byte [r15 + 1]
shr ecx, 8
movzx edx, dl
xor ecx, dword [rax + rdx*4]
mov edx, ecx
xor cl, byte [r15 + 2]
shr edx, 8
movzx ecx, cl
xor edx, dword [rax + rcx*4]
mov ecx, edx
xor dl, byte [r15 + 3]
shr ecx, 8
movzx edx, dl
xor ecx, dword [rax + rdx*4]
mov edx, ecx
xor cl, byte [r15 + 4]
shr edx, 8
movzx ecx, cl
xor edx, dword [rax + rcx*4]
add rbx, 0xfffffffffffffff8
mov ecx, edx
xor dl, byte [r15 + 5]
shr ecx, 8
movzx edx, dl
xor ecx, dword [rax + rdx*4]
mov edx, ecx
shr edx, 8
xor cl, byte [r15 + 6]
movzx ecx, cl
xor edx, dword [rax + rcx*4]
mov ecx, edx
shr ecx, 8
xor dl, byte [r15 + 7]
add r15, 8
movzx edx, dl
xor ecx, dword [rax + rdx*4]
cmp rbx, 7
jbe 0x140003acd
jmp 0x140003b17
test r15b, 7
je 0x140003be9
lea rax, [r15 + 1]
lea rdx, [0x14000c280]
mov r8, rbx
dec rbx
mov r9d, ecx
shr r9d, 8
xor cl, byte [r15]
inc r15
movzx r10d, cl
mov ecx, r9d
xor ecx, dword [rdx + r10*4]
cmp r8, 1
je 0x140003be9
mov r8d, eax
and r8d, 7
inc rax
test r8, r8
jne 0x140003bb6
movabs rdx, 0xcccccccccccccccd
mov rax, rbx
mul rdx
shr rdx, 5
lea rax, [rdx*8]
lea r14, [rax + rax*4]
xor r8d, r8d
dec rdx
je 0x14000420e
mov qword [rsp], r14
mov qword [rsp + 8], rbx
lea rsi, [0x14000c680]
mov qword [rsp + 0x10], r15
xor eax, eax
xor r12d, r12d
xor ebp, ebp
mov r13d, 0xff
mov qword [rsp + 0x40], rdx
mov edi, ecx
mov rdx, qword [r15]
mov qword [rsp + 0x18], rdx
mov rcx, qword [r15 + 8]
mov qword [rsp + 0x20], rcx
xor rdi, rdx
mov r14d, r12d
xor r14, rcx
mov ebx, ebp
mov rcx, qword [r15 + 0x10]
mov qword [rsp + 0x28], rcx
xor rbx, rcx
mov edx, eax
mov rax, qword [r15 + 0x18]
mov qword [rsp + 0x30], rax
xor rdx, rax
mov r10d, r8d
mov rax, qword [r15 + 0x20]
mov qword [rsp + 0x38], rax
xor r10, rax
mov r12, rdi
mov r11d, 0xff
and r12, r11
mov rbp, r14
and rbp, r11
mov rax, rbx
and rax, r11
mov r8, rdx
and r8, r11
mov ecx, edi
shr ecx, 8
and ecx, r13d
mov ecx, dword [rsi + rcx*4 + 0x400]
xor ecx, dword [rsi + r12*4]
mov r12d, r14d
shr r12d, 8
and r12d, r13d
mov r12d, dword [rsi + r12*4 + 0x400]
xor r12d, dword [rsi + rbp*4]
mov ebp, ebx
shr ebp, 8
and ebp, r13d
mov ebp, dword [rsi + rbp*4 + 0x400]
xor ebp, dword [rsi + rax*4]
mov eax, edx
shr eax, 8
and eax, r13d
mov eax, dword [rsi + rax*4 + 0x400]
xor eax, dword [rsi + r8*4]
mov r9, r10
and r9, r11
mov r8d, r10d
shr r8d, 8
and r8d, r13d
mov r8d, dword [rsi + r8*4 + 0x400]
xor r8d, dword [rsi + r9*4]
mov r9d, edi
shr r9d, 0x10
and r9d, r13d
xor ecx, dword [rsi + r9*4 + 0x800]
mov r9d, r14d
shr r9d, 0x10
and r9d, r13d
xor r12d, dword [rsi + r9*4 + 0x800]
mov r9d, ebx
shr r9d, 0x10
and r9d, r13d
xor ebp, dword [rsi + r9*4 + 0x800]
mov r9d, edx
shr r9d, 0x10
and r9d, r13d
xor eax, dword [rsi + r9*4 + 0x800]
mov r9d, r10d
shr r9d, 0x10
and r9d, r13d
xor r8d, dword [rsi + r9*4 + 0x800]
shr edi, 0x18
xor ecx, dword [rsi + rdi*4 + 0xc00]
shr r14d, 0x18
xor r12d, dword [rsi + r14*4 + 0xc00]
shr ebx, 0x18
xor ebp, dword [rsi + rbx*4 + 0xc00]
shr edx, 0x18
xor eax, dword [rsi + rdx*4 + 0xc00]
shr r10d, 0x18
xor r8d, dword [rsi + r10*4 + 0xc00]
mov r10, qword [rsp + 0x18]
mov rdx, r10
shr rdx, 0x1e
mov r9d, 0x3fc
and rdx, r9
xor ecx, dword [rdx + rsi + 0x1000]
mov r11, qword [rsp + 0x20]
mov rdx, r11
shr rdx, 0x1e
and rdx, r9
xor r12d, dword [rdx + rsi + 0x1000]
mov rdi, qword [rsp + 0x28]
mov rdx, rdi
shr rdx, 0x1e
and rdx, r9
xor ebp, dword [rdx + rsi + 0x1000]
mov rbx, qword [rsp + 0x30]
mov rdx, rbx
shr rdx, 0x1e
and rdx, r9
xor eax, dword [rdx + rsi + 0x1000]
mov r14, qword [rsp + 0x38]
mov rdx, r14
shr rdx, 0x1e
and rdx, r9
xor r8d, dword [rdx + rsi + 0x1000]
mov rdx, r10
shr rdx, 0x26
and rdx, r9
xor ecx, dword [rdx + rsi + 0x1400]
mov rdx, r11
shr rdx, 0x26
and rdx, r9
xor r12d, dword [rdx + rsi + 0x1400]
mov rdx, rdi
shr rdx, 0x26
and rdx, r9
xor ebp, dword [rdx + rsi + 0x1400]
mov rdx, rbx
shr rdx, 0x26
and rdx, r9
xor eax, dword [rdx + rsi + 0x1400]
mov rdx, r14
shr rdx, 0x26
and rdx, r9
xor r8d, dword [rdx + rsi + 0x1400]
mov rdx, r10
shr rdx, 0x2e
and rdx, r9
xor ecx, dword [rdx + rsi + 0x1800]
mov rdx, r11
shr rdx, 0x2e
and rdx, r9
xor r12d, dword [rdx + rsi + 0x1800]
mov rdx, rdi
shr rdx, 0x2e
and rdx, r9
xor ebp, dword [rdx + rsi + 0x1800]
mov rdx, rbx
shr rdx, 0x2e
and rdx, r9
xor eax, dword [rdx + rsi + 0x1800]
mov rdx, r14
shr rdx, 0x2e
and rdx, r9
xor r8d, dword [rdx + rsi + 0x1800]
mov rdx, qword [rsp + 0x40]
mov r9, r10
shr r9, 0x38
xor ecx, dword [rsi + r9*4 + 0x1c00]
mov r9, r11
shr r9, 0x38
xor r12d, dword [rsi + r9*4 + 0x1c00]
mov r9, rdi
shr r9, 0x38
xor ebp, dword [rsi + r9*4 + 0x1c00]
mov r9, rbx
shr r9, 0x38
xor eax, dword [rsi + r9*4 + 0x1c00]
mov r9, r14
shr r9, 0x38
xor r8d, dword [rsi + r9*4 + 0x1c00]
add r15, 0x28
dec rdx
jne 0x140003c37
mov r15, qword [rsp + 0x10]
mov r14, qword [rsp]
add r15, r14
add r15, 0xffffffffffffffd8
mov r9d, r12d
mov esi, r8d
mov r8d, ebp
mov eax, eax
mov rbx, qword [rsp + 8]
mov ecx, ecx
xor rcx, qword [r15]
mov r10, rcx
shr r10, 8
mov edx, 0xff
and rcx, rdx
lea r11, [0x14000c280]
mov ecx, dword [r11 + rcx*4]
xor rcx, r10
mov r10, rcx
shr r10, 8
and rcx, rdx
mov ecx, dword [r11 + rcx*4]
xor rcx, r10
mov r10, rcx
shr r10, 8
and rcx, rdx
mov ecx, dword [r11 + rcx*4]
xor rcx, r10
mov r10, rcx
shr r10, 8
and rcx, rdx
mov ecx, dword [r11 + rcx*4]
xor rcx, r10
mov r10, rcx
shr r10, 8
and rcx, rdx
mov ecx, dword [r11 + rcx*4]
xor rcx, r10
mov r10, rcx
shr r10, 8
and rcx, rdx
mov ecx, dword [r11 + rcx*4]
xor rcx, r10
mov r10, rcx
shr r10, 8
and rcx, rdx
mov ecx, dword [r11 + rcx*4]
xor rcx, r10
mov r10, rcx
shr r10, 8
and rcx, rdx
xor r10d, dword [r11 + rcx*4]
xor r10, r9
xor r10, qword [r15 + 8]
mov rcx, r10
shr rcx, 8
and r10, rdx
mov r9d, dword [r11 + r10*4]
xor r9, rcx
mov rcx, r9
shr rcx, 8
and r9, rdx
mov r9d, dword [r11 + r9*4]
xor r9, rcx
mov rcx, r9
shr rcx, 8
and r9, rdx
mov r9d, dword [r11 + r9*4]
xor r9, rcx
mov rcx, r9
shr rcx, 8
and r9, rdx
mov r9d, dword [r11 + r9*4]
xor r9, rcx
mov rcx, r9
shr rcx, 8
and r9, rdx
mov r9d, dword [r11 + r9*4]
xor r9, rcx
mov rcx, r9
shr rcx, 8
and r9, rdx
mov r9d, dword [r11 + r9*4]
xor r9, rcx
mov rcx, r9
shr rcx, 8
and r9, rdx
mov r9d, dword [r11 + r9*4]
xor r9, rcx
mov rcx, r9
shr rcx, 8
and r9, rdx
xor ecx, dword [r11 + r9*4]
xor rcx, r8
xor rcx, qword [r15 + 0x10]
mov r8, rcx
shr r8, 8
and rcx, rdx
mov ecx, dword [r11 + rcx*4]
xor rcx, r8
mov r8, rcx
shr r8, 8
and rcx, rdx
mov ecx, dword [r11 + rcx*4]
xor rcx, r8
mov r8, rcx
shr r8, 8
and rcx, rdx
mov ecx, dword [r11 + rcx*4]
xor rcx, r8
mov r8, rcx
shr r8, 8
and rcx, rdx
mov ecx, dword [r11 + rcx*4]
xor rcx, r8
mov r8, rcx
shr r8, 8
and rcx, rdx
mov ecx, dword [r11 + rcx*4]
xor rcx, r8
mov r8, rcx
shr r8, 8
and rcx, rdx
mov ecx, dword [r11 + rcx*4]
xor rcx, r8
mov r8, rcx
shr r8, 8
and rcx, rdx
mov ecx, dword [r11 + rcx*4]
xor rcx, r8
mov r8, rcx
shr r8, 8
and rcx, rdx
xor r8d, dword [r11 + rcx*4]
sub rbx, r14
xor r8, rax
xor r8, qword [r15 + 0x18]
mov rax, r8
shr rax, 8
and r8, rdx
mov ecx, dword [r11 + r8*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 [r15 + 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 r15, 0x28
jmp 0x140003ac7
xor r9d, r9d
xor eax, eax
xor esi, esi
jmp 0x140003f3c