Function at 0x1400fa130
Capabilities:
Encode data using xor

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x70
movdqa xmmword [rsp + 0x60], xmm7
movdqa xmmword [rsp + 0x50], xmm6
mov rsi, rdx
mov rbx, rcx
mov rax, qword [rcx + 0x28]
cmp rax, 5
jb 0x1400fa15a
mov rax, qword [rbx + 8]
test rax, rax
je 0x1400fa19f
lea rcx, [rsp + 0x38]
mov rdx, rbx
mov r8d, 0x10
call sym.num_bigint_dig::biguint::to_radix_le::h8b876cd15ddf040a
mov rdi, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x48]
lea rax, [rdi + rcx]
test rcx, rcx
je 0x1400fa1db
mov r8, rdi
cmp rcx, 8
jb 0x1400fa652
cmp rcx, 0x20
jae 0x1400fa1f1
xor edx, edx
jmp 0x1400fa291
mov rax, qword [str.1__]
movzx eax, byte [rax]
mov r14d, 1
mov ecx, 1
mov edx, 1
call sym.__rust_alloc
test rax, rax
je 0x1400fa669
mov rdi, rax
mov byte [rax], 0x30
inc rax
mov r8d, 1
jmp 0x1400fa4a7
mov r14, qword [rsp + 0x40]
xor r8d, r8d
test rcx, rcx
jne 0x1400fa4a7
jmp 0x1400fa5e1
mov rdx, rcx
and rdx, 0xffffffffffffffe0
xor r8d, r8d
movdqa xmm0, xmmword [str._t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_tWWWWWWWWWWWWWWWW0000000000000000_n_n_n_n_n_n_n_n]
movdqa xmm1, xmmword [0x140205900]
movdqa xmm2, xmmword [0x140205910]
nop word cs:[rax + rax]
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 0x1400fa220
cmp rcx, rdx
je 0x1400fa2fc
test cl, 0x18
je 0x1400fa636
mov r9, rcx
and r9, 0xfffffffffffffff8
lea r8, [rdi + r9]
movdqa xmm0, xmmword [0x140205920]
movdqa xmm1, xmmword [str.WWWWWWWW]
movdqa xmm2, xmmword [str.00000000]
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 0x1400fa2c0
cmp rcx, r9
jne 0x1400fa652
mov r14, qword [rsp + 0x40]
cmp rcx, 2
jb 0x1400fa49b
mov rdx, rcx
shr rdx, 1
cmp rcx, 0x10
jae 0x1400fa31f
xor r8d, r8d
jmp 0x1400fa46d
movabs r9, 0x7ffffffffffffff0
cmp rcx, 0x20
jae 0x1400fa3bf
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 0x1400fa360
cmp rdx, r8
jne 0x1400fa46d
jmp 0x1400fa49b
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 0x1400fa3e0
cmp rdx, r8
je 0x1400fa49b
test cl, 0x10
jne 0x1400fa336
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 0x1400fa480
mov r8, rcx
test rcx, rcx
je 0x1400fa5e1
mov rcx, rax
sub rcx, rdi
mov r9, rdi
cmp rcx, 8
jb 0x1400fa5c0
cmp rcx, 0x20
jae 0x1400fa4c7
xor edx, edx
jmp 0x1400fa559
mov rdx, rcx
and rdx, 0xffffffffffffffe0
xor r9d, r9d
movdqa xmm0, xmmword [0x140205950]
movdqa xmm1, xmmword [0x140205960]
movdqa xmm2, xmmword [0x140205970]
nop dword [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 rdx, r9
jne 0x1400fa4f0
cmp rcx, rdx
je 0x1400fa5e1
test cl, 0x18
je 0x1400fa5b6
mov r10, rcx
and r10, 0xfffffffffffffff8
lea r9, [rdi + r10]
movdqa xmm0, xmmword [0x140205980]
movdqa xmm1, xmmword [0x140205990]
movdqa xmm2, xmmword [0x1402059a0]
nop dword [rax]
movq xmm3, qword [rdi + rdx]
movdqa xmm4, xmm3
paddb xmm4, xmm0
movdqa xmm5, xmm4
pmaxub xmm5, xmm1
pcmpeqb xmm5, xmm4
pandn xmm5, xmm2
pxor xmm5, xmm3
movq qword [rdi + rdx], xmm5
add rdx, 8
cmp r10, rdx
jne 0x1400fa580
cmp rcx, r10
jne 0x1400fa5c0
jmp 0x1400fa5e1
add rdx, rdi
mov r9, rdx
nop dword [rax]
movzx ecx, byte [r9]
lea edx, [rcx - 0x61]
cmp dl, 0x1a
setb dl
shl dl, 5
xor dl, cl
mov byte [r9], dl
lea rcx, [r9 + 1]
mov r9, rcx
cmp rcx, rax
jne 0x1400fa5c0
cmp byte [rbx + 0x30], 0
setne dl
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x20], rdi
lea r8, [0x140205a02]
mov r9d, 2
mov rcx, rsi
call dbg.pad_integral
mov ebx, eax
test r14, r14
je 0x1400fa61f
mov r8d, 1
mov rcx, rdi
mov rdx, r14
call sym.__rust_dealloc
mov eax, ebx
movaps xmm6, xmmword [rsp + 0x50]
movaps xmm7, xmmword [rsp + 0x60]
add rsp, 0x70
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret
add rdx, rdi
mov r8, rdx
jmp 0x1400fa652
add r9b, dl
mov byte [r8], r9b
inc r8
cmp r8, rax
je 0x1400fa2fc
movzx edx, byte [r8]
mov r9d, 0x30
cmp dl, 0xa
jb 0x1400fa640
mov r9d, 0x57
jmp 0x1400fa640
mov ecx, 1
mov edx, 1
call dbg.handle_alloc_error
ud2