Function at 0x14008e100
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x78
mov rsi, rdx
movzx r8d, byte [rcx + 0x10]
cmp r8b, 0x80
je 0x14008e139
movzx eax, byte [rcx + 0x1a]
movzx edx, byte [rcx + 0x1b]
movzx r9d, byte [rcx + 0x19]
mov byte [rsp + 0x60], r9b
mov r9, qword [rcx + 0x11]
mov qword [rsp + 0x58], r9
mov r15, qword [rcx]
mov r13, qword [rcx + 8]
movzx r12d, byte [rcx + 0x1c]
cmp r12b, 0x80
je 0x14008e168
movzx r10d, byte [rcx + 0x26]
movzx r11d, byte [rcx + 0x27]
movzx r9d, byte [rcx + 0x25]
mov byte [rsp + 0x70], r9b
mov rcx, qword [rcx + 0x1d]
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x38], r13
mov byte [rsp + 0x40], r8b
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x41], rcx
movzx ecx, byte [rsp + 0x60]
mov byte [rsp + 0x49], cl
mov byte [rsp + 0x4a], al
mov byte [rsp + 0x4b], dl
mov byte [rsp + 0x4c], r12b
movzx ecx, byte [rsp + 0x70]
mov byte [rsp + 0x55], cl
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 0x4d], rcx
mov byte [rsp + 0x25], r10b
mov byte [rsp + 0x56], r10b
mov byte [rsp + 0x24], r11b
mov byte [rsp + 0x57], r11b
cmp r8b, 0x80
jne 0x14008e373
mov byte [rsp + 0x40], pe_nt_image_headers64
test r15, r15
je 0x14008e369
cmp r15, r13
je 0x14008e369
mov rdi, qword [rsi + 0x20]
mov rbx, qword [rsi + 0x28]
lea r14, str.0123456789abcdef_Users_elyzianfields_.rustup_toolchains_nightly_aarch64_apple_darwin_lib_rustlib_src_rust_library_core_src_escape.rs
movzx eax, byte [r15]
test al, al
js 0x14008e200
inc r15
jmp 0x14008e270
mov ecx, eax
and ecx, 0x1f
movzx r8d, byte [r15 + 1]
and r8d, 0x3f
cmp al, 0xdf
jbe 0x14008e24b
movzx edx, byte [r15 + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp al, 0xf0
jb 0x14008e259
movzx eax, byte [r15 + 3]
and ecx, 7
shl ecx, 0x12
shl edx, 6
and eax, 0x3f
or eax, edx
or eax, ecx
cmp eax, 0x110000
je 0x14008e369
add r15, 4
jmp 0x14008e270
add r15, 2
shl ecx, 6
or ecx, r8d
mov eax, ecx
jmp 0x14008e270
add r15, 3
shl ecx, 0xc
or edx, ecx
mov eax, edx
nop word cs:[rax + rax]
mov byte [rsp + 0x28], 0
mov word [rsp + 0x26], 0
mov byte [rsp + 0x2f], 0x7d
mov ecx, eax
shr ecx, 0x14
movzx ecx, byte [rcx + r14]
mov byte [rsp + 0x29], cl
mov ecx, eax
shr ecx, 0x10
and ecx, 0xf
movzx ecx, byte [rcx + r14]
mov byte [rsp + 0x2a], cl
mov ecx, eax
shr ecx, 0xc
and ecx, 0xf
movzx ecx, byte [rcx + r14]
mov byte [rsp + 0x2b], cl
mov ecx, eax
shr ecx, 8
and ecx, 0xf
movzx ecx, byte [rcx + r14]
mov byte [rsp + 0x2c], cl
mov ecx, eax
shr ecx, 4
and ecx, 0xf
movzx ecx, byte [rcx + r14]
mov byte [rsp + 0x2d], cl
mov ecx, eax
and ecx, 0xf
movzx ecx, byte [rcx + r14]
mov byte [rsp + 0x2e], cl
or eax, 1
bsr eax, eax
xor eax, 0x1c
shr eax, 2
lea rcx, [rax - 2]
movzx edx, byte [0x1400b676a]
mov byte [rsp + rax + 0x26], dl
movzx edx, word [0x1400b6768]
mov word [rsp + rax + 0x24], dx
mov rax, qword [rsp + 0x26]
lea rdx, [rsp + 0x40]
mov qword [rdx], rax
movzx eax, word [rsp + 0x2e]
mov word [rdx + 8], ax
mov byte [rsp + 0x4a], cl
mov byte [rsp + 0x4b], 0xa
nop word [rax + rax]
cmp rcx, 9
ja 0x14008e360
lea rbp, [rcx + 1]
lea eax, [rcx + 1]
mov byte [rsp + 0x4a], al
movzx edx, byte [rsp + rcx + 0x40]
mov rcx, rdi
call qword [rbx + 0x20]
mov rcx, rbp
test al, al
je 0x14008e330
jmp 0x14008e3b9
cmp r15, r13
jne 0x14008e1ee
cmp r12b, 0x80
jne 0x14008e3cf
xor esi, esi
jmp 0x14008e3bc
mov rbx, qword [rsi + 0x20]
mov r14, qword [rsi + 0x28]
movzx edi, al
movzx ebp, dl
nop word cs:[rax + rax]
cmp rdi, rbp
jae 0x14008e1c8
lea eax, [rdi + 1]
mov byte [rsp + 0x4a], al
cmp rdi, 0xa
jae 0x14008e41b
movzx edx, byte [rsp + rdi + 0x40]
mov rcx, rbx
call qword [r14 + 0x20]
inc rdi
test al, al
je 0x14008e390
mov sil, 1
mov eax, esi
add rsp, 0x78
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rbx, qword [rsi + 0x20]
mov r14, qword [rsi + 0x28]
movzx edi, byte [rsp + 0x25]
movzx r15d, byte [rsp + 0x24]
nop word cs:[rax + rax]
cmp rdi, r15
setb sil
jae 0x14008e3bc
lea eax, [rdi + 1]
mov byte [rsp + 0x56], al
cmp rdi, 0xa
jae 0x14008e41b
movzx edx, byte [rsp + rdi + 0x4c]
mov rcx, rbx
call qword [r14 + 0x20]
inc rdi
test al, al
je 0x14008e3f0
jmp 0x14008e3bc
lea r8, [0x1400b67b8]
mov edx, 0xa
mov rcx, rdi
call sym.core::panicking::panic_bounds_check::h38fa840465af3a23
int3