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

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x20
test rdx, rdx
jne 0x14003601d
xor eax, eax
add rsp, 0x20
pop rbp
ret
add rsp, 0x20
pop rbp
jmp 0x140036024
mov qword [rsp + 0x10], rdi
push rbp
mov rbp, rsp
mov r11d, r8d
mov r10, rdx
not ecx
lea rdi, [0x14004bfb0]
test r8d, r8d
je 0x140036065
test r10b, 3
je 0x140036065
movzx edx, byte [r10]
mov eax, ecx
inc r10
xor rdx, rax
shr eax, 8
movzx r8d, dl
mov ecx, dword [rdi + r8*4]
xor ecx, eax
dec r11d
jne 0x140036041
cmp r11d, 0x20
jb 0x14003629c
mov qword [rsp + 0x10], rbx
mov ebx, r11d
shr rbx, 5
nop word [rax + rax]
xor ecx, dword [r10]
mov r9d, ecx
mov eax, ecx
shr rax, 0x10
movzx edx, al
mov eax, ecx
mov r8d, dword [rdi + rdx*4 + 0x400]
shr rax, 8
movzx ecx, al
mov eax, r9d
xor r8d, dword [rdi + rcx*4 + 0x800]
shr rax, 0x18
xor r8d, dword [rdi + rax*4]
movzx eax, r9b
xor r8d, dword [rdi + rax*4 + 0xc00]
xor r8d, dword [r10 + 4]
mov r9d, r8d
mov eax, r8d
shr rax, 0x10
movzx edx, al
mov eax, r8d
mov r8d, dword [rdi + rdx*4 + 0x400]
shr rax, 8
movzx ecx, al
mov eax, r9d
xor r8d, dword [rdi + rcx*4 + 0x800]
shr rax, 0x18
xor r8d, dword [rdi + rax*4]
movzx eax, r9b
xor r8d, dword [rdi + rax*4 + 0xc00]
xor r8d, dword [r10 + 8]
mov r9d, r8d
mov eax, r8d
shr rax, 0x10
movzx edx, al
mov eax, r8d
mov r8d, dword [rdi + rdx*4 + 0x400]
shr rax, 8
movzx ecx, al
mov eax, r9d
xor r8d, dword [rdi + rcx*4 + 0x800]
shr rax, 0x18
xor r8d, dword [rdi + rax*4]
movzx eax, r9b
xor r8d, dword [rdi + rax*4 + 0xc00]
xor r8d, dword [r10 + 0xc]
mov r9d, r8d
mov eax, r8d
shr rax, 0x10
movzx edx, al
mov eax, r8d
mov r8d, dword [rdi + rdx*4 + 0x400]
shr rax, 8
movzx ecx, al
mov eax, r9d
xor r8d, dword [rdi + rcx*4 + 0x800]
shr rax, 0x18
xor r8d, dword [rdi + rax*4]
movzx eax, r9b
xor r8d, dword [rdi + rax*4 + 0xc00]
xor r8d, dword [r10 + 0x10]
mov r9d, r8d
mov eax, r8d
shr rax, 0x10
movzx edx, al
mov eax, r8d
mov r8d, dword [rdi + rdx*4 + 0x400]
shr rax, 8
movzx ecx, al
mov eax, r9d
xor r8d, dword [rdi + rcx*4 + 0x800]
shr rax, 0x18
xor r8d, dword [rdi + rax*4]
movzx eax, r9b
xor r8d, dword [rdi + rax*4 + 0xc00]
xor r8d, dword [r10 + 0x14]
mov eax, r8d
mov r9d, r8d
shr rax, 0x10
movzx edx, al
mov eax, r8d
mov r8d, dword [rdi + rdx*4 + 0x400]
shr rax, 8
add r10, 0x20
movzx ecx, al
mov eax, r9d
add r11d, 0xffffffe0
xor r8d, dword [rdi + rcx*4 + 0x800]
shr rax, 0x18
xor r8d, dword [rdi + rax*4]
movzx eax, r9b
xor r8d, dword [rdi + rax*4 + 0xc00]
xor r8d, dword [r10 - 8]
mov r9d, r8d
mov eax, r8d
shr rax, 0x10
movzx edx, al
mov eax, r8d
mov r8d, dword [rdi + rdx*4 + 0x400]
shr rax, 8
movzx ecx, al
mov eax, r9d
xor r8d, dword [rdi + rcx*4 + 0x800]
shr rax, 0x18
xor r8d, dword [rdi + rax*4]
movzx eax, r9b
xor r8d, dword [rdi + rax*4 + 0xc00]
xor r8d, dword [r10 - 4]
mov eax, r8d
shr rax, 0x10
movzx ecx, al
mov eax, r8d
mov ecx, dword [rdi + rcx*4 + 0x400]
shr rax, 8
movzx edx, al
mov eax, r8d
xor ecx, dword [rdi + rdx*4 + 0x800]
shr rax, 0x18
xor ecx, dword [rdi + rax*4]
movzx eax, r8b
xor ecx, dword [rdi + rax*4 + 0xc00]
dec rbx
jne 0x140036080
mov rbx, qword [rsp + 0x10]
cmp r11d, 4
jb 0x1400362f2
mov r9d, r11d
shr r9, 2
xor ecx, dword [r10]
add r10, 4
add r11d, 0xfffffffc
mov r8d, ecx
mov eax, ecx
shr rax, 0x10
movzx ecx, al
mov eax, r8d
mov ecx, dword [rdi + rcx*4 + 0x400]
shr rax, 8
movzx edx, al
mov eax, r8d
xor ecx, dword [rdi + rdx*4 + 0x800]
shr rax, 0x18
xor ecx, dword [rdi + rax*4]
movzx eax, r8b
xor ecx, dword [rdi + rax*4 + 0xc00]
dec r9
jne 0x1400362a9
test r11d, r11d
je 0x140036315
movzx edx, byte [r10]
mov eax, ecx
inc r10
xor rdx, rax
shr eax, 8
movzx r8d, dl
mov ecx, dword [rdi + r8*4]
xor ecx, eax
dec r11d
jne 0x1400362f7
mov rdi, qword [rsp + 0x18]
not ecx
mov eax, ecx
pop rbp
ret