Function at 0x4dd62a
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x130
mov rbx, rdx
mov rsi, rcx
movups xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 0x10]
movups xmm2, xmmword [rdx + 0x20]
movups xmm3, xmmword [rdx + 0x30]
movups xmmword [rcx + 0x30], xmm3
movups xmmword [rcx + 0x20], xmm2
movups xmmword [rcx + 0x10], xmm1
movups xmmword [rcx], xmm0
xor eax, eax
mov qword [rcx + 0x40], rax
mov qword [rcx + 0x48], rdx
movups xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 0x10]
movups xmm2, xmmword [rdx + 0x20]
movups xmm3, xmmword [rdx + 0x30]
movups xmmword [rcx + 0x50], xmm0
movups xmmword [rcx + 0x60], xmm1
movups xmmword [rcx + 0x70], xmm2
movups xmmword [rcx + 0x80], xmm3
mov qword [rcx + 0x90], rax
mov qword [rcx + 0x98], rdx
mov rdi, qword [rdx + 0x50]
cmp rdi, r9
jae 0x4dd6c7
lea r14, [rsp + 0xe8]
mov rcx, r14
mov rdx, rbx
call fcn.004dbba9
mov rax, qword [r14 + 0x40]
mov r9, qword [rax + 0x40]
cmp r9, 0x41
jae 0x4dd8eb
mov r8, r14
movaps xmm0, xmmword [str.6666666666666666]
movaps xmmword [rsp + 0xa0], xmm0
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0x80], xmm0
movaps xmmword [rsp + 0x70], xmm0
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x40], xmm0
movaps xmmword [rsp + 0x30], xmm0
cmp rdi, 0x81
jae 0x4dd8da
lea rcx, [rsp + rdi]
add rcx, 0x30
lea rdx, [rsp + 0x30]
mov rax, rdx
not rax
and rax, rcx
not rcx
and rcx, rdx
sub rax, rcx
cmp rax, r9
cmovae rax, r9
test rax, rax
je 0x4dd74d
xor ecx, ecx
mov dl, byte [r8 + rcx]
xor byte [rsp + rcx + 0x30], dl
lea rdx, [rcx + 1]
mov rcx, rdx
cmp rax, rdx
jne 0x4dd739
test rdi, rdi
je 0x4dd883
mov eax, edi
not eax
mov rcx, rdi
and rcx, 0xfffffffffffffffe
mov edx, edi
and edx, 1
neg rdx
and eax, 1
imul rax, rcx
mov rcx, rdi
or rcx, 1
and rcx, rdx
add rcx, rax
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0x28], rdi
cmp rcx, rdi
jne 0x4dd89d
mov al, byte [0x00677490]
cmp al, 2
jne 0x4dd872
lea rdx, [rsp + 0x30]
mov r8d, 1
mov rcx, rsi
call qword [rbx + 0x60]
mov rax, qword [rsi + 0x40]
inc rax
je 0x4dd8c5
lea rbx, [rsi + 0x50]
mov qword [rsi + 0x40], rax
xor eax, eax
mov cl, byte [rsp + rax + 0x30]
lea edx, [rcx + rcx]
and dl, 0xd4
sub cl, dl
add cl, 0x6a
mov byte [rsp + rax + 0x30], cl
inc rax
cmp rdi, rax
jne 0x4dd7c6
mov r15, qword [rsi + 0x98]
mov rcx, qword [r15 + 0x50]
test rcx, rcx
je 0x4dd883
mov rax, rdi
xor edx, edx
div rcx
mov r14, rax
not rax
and rax, rcx
mov rdx, rcx
not rdx
and rdx, r14
imul rdx, rax
mov rax, r14
and rax, rcx
mov r8, r14
or r8, rcx
imul r8, rax
add r8, rdx
mov qword [rsp + 0x20], r8
mov qword [rsp + 0x28], rdi
cmp r8, rdi
jne 0x4dd89d
cmp rcx, rdi
ja 0x4dd863
mov al, byte [0x00677490]
cmp al, 2
jne 0x4dd87c
lea rdx, [rsp + 0x30]
mov rcx, rbx
mov r8, r14
call qword [r15 + 0x60]
add r14, qword [rsi + 0x90]
jb 0x4dd8c5
mov qword [rsi + 0x90], r14
add rsp, 0x130
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
call fcn.004d434f
jmp 0x4dd79e
call fcn.004d434f
jmp 0x4dd844
lea rcx, str.attempt_to_divide_by_zeroassertion_failed:_iter.size_hint__.0___N_repos_rust_1.70.0_library_core_src_array_mod.rs
lea r8, str.registry_src_octopus.retort.com_8754fae0eb2f08f1_worm_0.17.8_src_digest.rs
mov edx, 0x19
call fcn.00426370
ud2
lea r8, [rsp + 0xb8]
mov qword [r8 + 0x10], 0
lea r9, str.registry_src_octopus.retort.com_8754fae0eb2f08f1_worm_0.17.8_src_digest.rs
lea rcx, [rsp + 0x20]
lea rdx, [rsp + 0x28]
call fcn.004d33f3
ud2
lea rcx, str.called__Option::unwrap____on_a__None__valuecalled__Result::unwrap____on_an__Err__value
lea r8, str.registry_src_octopus.retort.com_8754fae0eb2f08f1_worm_0.17.8_src_digest.rs
mov edx, 0x2b
jmp 0x4dd896
lea r8, str.registry_src_octopus.retort.com_8754fae0eb2f08f1_worm_0.17.8_src_hmac.rs
mov edx, pe_nt_image_headers64
mov rcx, rdi
jmp 0x4dd8fa
lea r8, str.registry_src_octopus.retort.com_8754fae0eb2f08f1_worm_0.17.8_src_digest.rs
mov edx, 0x40
mov rcx, r9
call fcn.004292f0
ud2