Function at 0x1400ee190
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x78
movdqa xmmword [rsp + 0x60], xmm7
movdqa xmmword [rsp + 0x50], xmm6
mov rsi, rdx
mov rdx, rcx
mov rax, qword [rcx + 0x28]
cmp rax, 5
jb 0x1400ee1f8
cmp qword [rdx + 8], 0
je 0x1400ee1fd
lea rcx, [rsp + 0x38]
mov r8d, 4
call sym.num_bigint_dig::biguint::to_bitwise_digits_le::hf8a5ea9f0650d005
mov rdi, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x48]
lea rax, [rdi + rcx]
test rcx, rcx
je 0x1400ee237
mov r8, rdi
cmp rcx, 8
jb 0x1400ee6a2
cmp rcx, 0x20
jae 0x1400ee24c
xor edx, edx
jmp 0x1400ee2e1
test rax, rax
jne 0x1400ee1bb
mov rax, qword [str.1__]
movzx eax, byte [rax]
mov ebx, 1
mov ecx, 1
mov edx, 1
call sym.__rust_alloc
test rax, rax
je 0x1400ee6b9
mov rdi, rax
mov byte [rax], 0x30
inc rax
mov edx, 1
jmp 0x1400ee4f7
mov rbx, qword [rsp + 0x40]
xor edx, edx
test rcx, rcx
jne 0x1400ee4f7
jmp 0x1400ee636
mov rdx, rcx
and rdx, 0xffffffffffffffe0
xor r8d, r8d
movdqa xmm0, xmmword [0x140203b40]
movdqa xmm1, xmmword [0x140203b50]
movdqa xmm2, xmmword [0x140203b60]
nop
movdqu xmm3, xmmword [rdi + r8]
movdqu xmm4, xmmword [rdi + r8 + 0x10]
movdqa xmm5, xmm3
pminub xmm5, xmm0
pcmpeqb xmm5, xmm3
movdqa xmm6, xmm4
pminub xmm6, xmm0
pcmpeqb xmm6, xmm4
movdqa xmm7, xmm5
pandn xmm7, xmm1
pand xmm5, xmm2
por xmm5, xmm7
movdqa xmm7, xmm6
pandn xmm7, xmm1
pand xmm6, xmm2
por xmm6, xmm7
paddb xmm5, xmm3
paddb xmm6, xmm4
movdqu xmmword [rdi + r8], xmm5
movdqu xmmword [rdi + r8 + 0x10], xmm6
add r8, 0x20
cmp rdx, r8
jne 0x1400ee270
cmp rcx, rdx
je 0x1400ee34c
test cl, 0x18
je 0x1400ee684
mov r9, rcx
and r9, 0xfffffffffffffff8
lea r8, [rdi + r9]
movdqa xmm0, xmmword [0x140203b70]
movdqa xmm1, xmmword [0x140203b80]
movdqa xmm2, xmmword [0x140203b90]
nop word cs:[rax + rax]
movq xmm3, qword [rdi + rdx]
movdqa xmm4, xmm3
pmaxub xmm4, xmm0
pcmpeqb xmm4, xmm3
movdqa xmm5, xmm4
pand xmm5, xmm1
pandn xmm4, xmm2
por xmm4, xmm5
paddb xmm4, xmm3
movq qword [rdi + rdx], xmm4
add rdx, 8
cmp r9, rdx
jne 0x1400ee310
cmp rcx, r9
jne 0x1400ee6a2
mov rbx, qword [rsp + 0x40]
cmp rcx, 2
jb 0x1400ee4eb
mov rdx, rcx
shr rdx, 1
cmp rcx, 0x10
jae 0x1400ee36f
xor r8d, r8d
jmp 0x1400ee4bd
movabs r9, 0x7ffffffffffffff0
cmp rcx, 0x20
jae 0x1400ee40f
xor r8d, r8d
mov r10, r8
add r9, 8
mov r8, r9
and r8, rdx
mov r9, rcx
sub r9, r10
add r9, rdi
add r9, 0xfffffffffffffff8
pxor xmm0, xmm0
nop word cs:[rax + rax]
movq xmm1, qword [rdi + r10]
movq xmm2, qword [r9]
punpcklbw xmm2, xmm0
pshufd xmm2, xmm2, 0x4e
pshuflw xmm2, xmm2, 0x1b
pshufhw xmm2, xmm2, 0x1b
packuswb xmm2, xmm2
movq qword [rdi + r10], xmm2
punpcklbw xmm1, xmm0
pshufd xmm1, xmm1, 0x4e
pshuflw xmm1, xmm1, 0x1b
pshufhw xmm1, xmm1, 0x1b
packuswb xmm1, xmm1
movq qword [r9], xmm1
add r10, 8
add r9, 0xfffffffffffffff8
cmp r8, r10
jne 0x1400ee3b0
cmp rdx, r8
jne 0x1400ee4bd
jmp 0x1400ee4eb
mov r8, rdx
and r8, r9
lea r10, [rcx + rdi]
add r10, 0xfffffffffffffff0
xor r11d, r11d
pxor xmm0, xmm0
nop word cs:[rax + rax]
movdqu xmm1, xmmword [rdi + r11]
movdqu xmm2, xmmword [r10]
movdqa xmm3, xmm2
punpcklbw xmm3, xmm0
pshufd xmm3, xmm3, 0x4e
pshuflw xmm3, xmm3, 0x1b
pshufhw xmm3, xmm3, 0x1b
punpckhbw xmm2, xmm0
pshufd xmm2, xmm2, 0x4e
pshuflw xmm2, xmm2, 0x1b
pshufhw xmm2, xmm2, 0x1b
packuswb xmm2, xmm3
movdqu xmmword [rdi + r11], xmm2
movdqa xmm2, xmm1
punpcklbw xmm2, xmm0
pshufd xmm2, xmm2, 0x4e
pshuflw xmm2, xmm2, 0x1b
pshufhw xmm2, xmm2, 0x1b
punpckhbw xmm1, xmm0
pshufd xmm1, xmm1, 0x4e
pshuflw xmm1, xmm1, 0x1b
pshufhw xmm1, xmm1, 0x1b
packuswb xmm1, xmm2
movdqu xmmword [r10], xmm1
add r11, 0x10
add r10, 0xfffffffffffffff0
cmp r8, r11
jne 0x1400ee430
cmp rdx, r8
je 0x1400ee4eb
test cl, 0x10
jne 0x1400ee386
neg rdx
lea r9, [rdi + r8]
neg r8
lea r10, [rcx + rdi]
dec r10
nop
movzx r11d, byte [r9]
movzx ebp, byte [r10 + r8]
mov byte [r9], bpl
mov byte [r10 + r8], r11b
dec r8
inc r9
cmp rdx, r8
jne 0x1400ee4d0
mov rdx, rcx
test rcx, rcx
je 0x1400ee636
mov rcx, rax
sub rcx, rdi
mov r9, rdi
cmp rcx, 8
jb 0x1400ee610
cmp rcx, 0x20
jae 0x1400ee518
xor r8d, r8d
jmp 0x1400ee5a9
mov r8, rcx
and r8, 0xffffffffffffffe0
xor r9d, r9d
movdqa xmm0, xmmword [0x140203ba0]
movdqa xmm1, xmmword [0x140203bb0]
movdqa xmm2, xmmword [0x140203bc0]
nop word [rax + rax]
movdqu xmm3, xmmword [rdi + r9]
movdqu xmm4, xmmword [rdi + r9 + 0x10]
movdqa xmm5, xmm3
paddb xmm5, xmm0
movdqa xmm6, xmm4
paddb xmm6, xmm0
movdqa xmm7, xmm5
pminub xmm7, xmm1
pcmpeqb xmm7, xmm5
pand xmm7, xmm2
movdqa xmm5, xmm6
pminub xmm5, xmm1
pcmpeqb xmm5, xmm6
pand xmm5, xmm2
pxor xmm7, xmm3
pxor xmm5, xmm4
movdqu xmmword [rdi + r9], xmm7
movdqu xmmword [rdi + r9 + 0x10], xmm5
add r9, 0x20
cmp r8, r9
jne 0x1400ee540
cmp rcx, r8
je 0x1400ee636
test cl, 0x18
je 0x1400ee608
mov r10, rcx
and r10, 0xfffffffffffffff8
lea r9, [rdi + r10]
movdqa xmm0, xmmword [0x140203bd0]
movdqa xmm1, xmmword [0x140203be0]
movdqa xmm2, xmmword [0x140203bf0]
nop dword [rax]
movq xmm3, qword [rdi + r8]
movdqa xmm4, xmm3
paddb xmm4, xmm0
movdqa xmm5, xmm4
pmaxub xmm5, xmm1
pcmpeqb xmm5, xmm4
pandn xmm5, xmm2
pxor xmm5, xmm3
movq qword [rdi + r8], xmm5
add r8, 8
cmp r10, r8
jne 0x1400ee5d0
cmp rcx, r10
jne 0x1400ee610
jmp 0x1400ee636
add r8, rdi
mov r9, r8
nop
movzx ecx, byte [r9]
lea r8d, [rcx - 0x61]
cmp r8b, 0x1a
setb r8b
shl r8b, 5
xor r8b, cl
mov byte [r9], r8b
lea rcx, [r9 + 1]
mov r9, rcx
cmp rcx, rax
jne 0x1400ee610
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rdi
lea r8, [0x140203ede]
mov r9d, 2
mov rcx, rsi
mov dl, 1
call dbg.pad_integral
mov esi, eax
test rbx, rbx
je 0x1400ee66f
mov r8d, 1
mov rcx, rdi
mov rdx, rbx
call sym.__rust_dealloc
mov eax, esi
movaps xmm6, xmmword [rsp + 0x50]
movaps xmm7, xmmword [rsp + 0x60]
add rsp, 0x78
pop rbx
pop rbp
pop rdi
pop rsi
ret
add rdx, rdi
mov r8, rdx
jmp 0x1400ee6a2
add r9b, dl
mov byte [r8], r9b
inc r8
cmp r8, rax
je 0x1400ee34c
movzx edx, byte [r8]
mov r9d, 0x30
cmp dl, 0xa
jb 0x1400ee690
mov r9d, 0x57
jmp 0x1400ee690
mov ecx, 1
mov edx, 1
call dbg.handle_alloc_error
ud2