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

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x40
mov rsi, rdx
mov rdi, rcx
iretd
xorps xmm0, xmm0
movaps xmmword [rsp + 0x30], xmm0
movaps xmmword [rsp + 0x20], xmm0
lea rbx, [rsp + 0x20]
lea r14, [0x1800e4f6b]
lea r15, [0x1800e5850]
jmp 0x18000e482
cmp byte [rdx + 0xf], 0x23
jne case.0x18000e4a9.2
mov rcx, rdx
call sym._ZN4core3ptr42drop_in_place_LT_std..io..error..Error_GT_17hf7fd8547e3da90a2E.llvm.11248888635009664630
mov r8d, 0x20
mov rcx, rdi
mov rdx, rbx
call sym.__bzip2::read::BzDecoder_R__as_std::io::Read_::read::h1d5270f72e2018f4
test rax, rax
je 0x18000e4b0
mov ecx, edx
and ecx, 3
mov eax, 1
movsxd rcx, dword [r15 + rcx*4]
add rcx, r15
jmp rcx
test rdx, rdx
jne 0x18000e51a
mov eax, dword [rdi + 0x54]
cmp byte [rdx + 0x10], 0x23
je 0x18000e47a
jmp case.0x18000e4a9.2
mov rax, rdx
shr rax, 0x20
cmp eax, 0x23
je 0x18000e47a
mov eax, 1
jmp case.0x18000e4a9.2
cmp rdx, 0x21
jae 0x18000e5e8
mov eax, dword [rdi + 0x50]
not eax
test dl, 1
je 0x18000e54b
lea rbx, [rsp + 0x21]
movzx ecx, byte [rsp + 0x20]
xor cl, al
movzx ecx, cl
lea r8, [0x1800e4b08]
shr eax, 8
xor eax, dword [r8 + rcx*4]
cmp rdx, 1
je 0x18000e58e
lea rcx, [rsp + rdx]
add rcx, 0x20
lea r8, [0x1800e4b08]
movzx r9d, byte [rbx]
xor r9b, al
movzx r9d, r9b
shr eax, 8
xor eax, dword [r8 + r9*4]
movzx r9d, byte [rbx + 1]
xor r9b, al
movzx r9d, r9b
shr eax, 8
xor eax, dword [r8 + r9*4]
add rbx, 2
cmp rbx, rcx
jne 0x18000e560
not eax
lea r8, [0x1800e4f80]
mov rcx, rdx
mov edx, 0x20
call sym.core::slice::index::slice_end_index_len_fail::h95608344cc4e85cc
int3
cmp rdx, 0x21
jae 0x18000e6a0
mov r14, rax
mov rax, qword [rsi]
mov rdi, qword [rsi + 0x10]
sub rax, rdi
mov rbx, rdx
cmp rax, rdx
jb 0x18000e68c
test dword [rcx], ecx
mov rcx, rsi
lea r8, str._rustc_051478957371ee0084a7c0913941d2a8c4757bb9library_std_srciomod.rs
mov rcx, rdx
mov edx, 0x20
add byte [rax], al
invalid
jae 0x18000e6b3
add byte [rax - 0x77], cl
sar dword [rdx + 0x20], 1
add byte [rax], al
invalid
add byte [rax], al
add al, ch
fdivr qword [rdi + 8]
call sym.core::slice::index::slice_end_index_len_fail::h95608344cc4e85cc
add byte [rax + 0x7423107a], al
invalid
cmp byte [rdx + 0x10], 0x23
je 0x18000e6d0
jmp case.0x18000e644.2
mov rcx, rdx
call sym._ZN4core3ptr42drop_in_place_LT_std..io..error..Error_GT_17hf7fd8547e3da90a2E.llvm.11248888635009664630
lea rdx, [rsp + 0x20]
mov r8d, 0x20
mov rcx, rdi
call sym.__zip::crc32::Crc32Reader_R__as_std::io::Read_::read::h94efd373dbb16d46
test rax, rax
je 0x18000e646
mov ecx, edx
and ecx, 3
movsxd rcx, dword [rbx + rcx*4]
add rcx, rbx
pop rsp
and al, 0x20
lea r14, [0x1800e4f6b]
lea r15, [0x1800e5870]
add bl, ch
invalid
cmp byte [rdx + 0xf], 0x23
jne case.0x18000e789.2
mov rcx, rdx
call sym._ZN4core3ptr42drop_in_place_LT_std..io..error..Error_GT_17hf7fd8547e3da90a2E.llvm.11248888635009664630
mov r8d, 0x20
mov rcx, rdi
mov rdx, rbx
call sym.__flate2::deflate::read::DeflateDecoder_R__as_std::io::Read_::read::h4382376586d22129
test rax, rax
je case.0x18000e24a.23
mov ecx, edx
and ecx, 3
add dword [rax], eax
add byte [rax], al
cmp byte [rdx + 0x10], 0x23
je 0x18000e75a
jmp case.0x18000e789.2
mov rax, rdx
shr rax, 0x20
cmp eax, 0x23
je 0x18000e75a
mov eax, 1
jmp case.0x18000e789.2
or byte [rax + 1], cl
stc
mov dword [rsp + 0x48], 0
test dword [rdi - 0x18000000], esp
ror dword [rbx], 0
add byte [rax - 0x77], cl
mov ecx, ebx
mov ecx, ebx
loop 0x18000eada
add byte [rax], al
sub edi, eax
sub byte [rcx], al
jp 0x18000ed62
and ecx, dword [rdi]
test dword [rdi + 0x48000000], esp
mov ecx, edx
add byte [rax], al
test eax, eax
test edx, edx
dec dword [rax - 0x7d]
jl 0x18000f009
test dword [rdi - 0x18000000], esp
invalid
mov ecx, ebx
invalid
call sym.std::io::error::Error::new::ha58a84d82014382b
mov rdx, rax
jmp 0x18000f3bb
invalid
fimul dword [rbp + rcx*4 + 5]
cwde
pop rbx
ror byte [rax - 0x7d], 0xc4
and byte [rbx + 0x5f], bl
add bl, ch
invalid
jle 0x18000f462
dec dword [rax - 0x7b]
sal byte [rax + rbx - 0x77], 0xc1
invalid
add bl, ch
and al, byte [rax + 0xf230f7a]
jp 0x18000f509
and ecx, dword [rdi]
mov bl, 0x4c
mov esi, dword [rdi]
int1
sub eax, ebp
and esi, dword [rdi + rdx*4 - 0x15]
sub al, 0xf
invalid
dec dword [rax - 0x77]
ror byte [rax - 0x3f], 1
call 0x1a3f978b2
clc
and ecx, dword [rdi]
test byte [rcx - 1], ch
invalid
invalid
clc
and ecx, dword [rdi]
test byte [rcx - 1], ch
nop word cs:[rax + rax]
cmp dword [rdx + 8], edi
jne 0x18000f5f3
ror byte [rax - 0x7d], 0xc4
and byte [rbx + 0x5f], bl
mov rsi, rdx