Function at 0x1400fe5c0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x208
movaps xmmword [rsp + 0x1f0], xmm7
movaps xmmword [rsp + 0x1e0], xmm6
mov r14, r8
mov rsi, rdx
mov rbp, rcx
mov r13, qword [rcx + 0x2d0]
mov ebx, 0x10
sub rbx, r13
cmp rbx, r8
jbe 0x1400fe636
mov rax, r13
add rax, r14
jb 0x1400ff105
cmp rax, 0x10
ja 0x1400ff119
test r14, r14
je 0x1400fe7c6
lea rax, [rbp + 0x2c0]
add rax, r13
cmp r14, 8
jae 0x1400fe66b
xor ecx, ecx
jmp 0x1400fe7a0
movaps xmm0, xmmword [rbp + 0x2c0]
movaps xmmword [rsp + 0x20], xmm0
cmp r13, 0x11
jae 0x1400ff12f
cmp r13, 0x10
je 0x1400fe90e
lea r9, [rsp + r13]
add r9, 0x20
cmp rbx, 8
jae 0x1400fe678
xor ecx, ecx
jmp 0x1400fe8f0
cmp r14, 0x20
jae 0x1400fe689
xor ecx, ecx
jmp 0x1400fe760
cmp rbx, 0x20
jae 0x1400fe7d2
xor ecx, ecx
jmp 0x1400fe8b3
mov rdi, rbp
mov rcx, r14
and rcx, 0xffffffffffffffe0
lea rdx, [rcx - 0x20]
mov r8, rdx
shr r8, 5
inc r8
test rdx, rdx
je 0x1400ff0e3
mov rbp, r8
and rbp, 0xfffffffffffffffe
lea rbx, [rdi + r13]
add rbx, 0x2f0
xor edx, edx
nop
movups xmm0, xmmword [rsi + rdx]
movups xmm1, xmmword [rsi + rdx + 0x10]
movups xmm2, xmmword [rbx + rdx - 0x30]
movups xmm3, xmmword [rbx + rdx - 0x20]
xorps xmm2, xmm0
xorps xmm3, xmm1
movups xmmword [rsi + rdx], xmm2
movups xmmword [rsi + rdx + 0x10], xmm3
movups xmmword [rbx + rdx - 0x30], xmm0
movups xmmword [rbx + rdx - 0x20], xmm1
movups xmm0, xmmword [rsi + rdx + 0x20]
movups xmm1, xmmword [rsi + rdx + 0x30]
movups xmm2, xmmword [rbx + rdx - 0x10]
movups xmm3, xmmword [rbx + rdx]
xorps xmm2, xmm0
xorps xmm3, xmm1
movups xmmword [rsi + rdx + 0x20], xmm2
movups xmmword [rsi + rdx + 0x30], xmm3
movups xmmword [rbx + rdx - 0x10], xmm0
movups xmmword [rbx + rdx], xmm1
add rdx, 0x40
add rbp, 0xfffffffffffffffe
jne 0x1400fe6c0
test r8b, 1
je 0x1400fe752
movups xmm0, xmmword [rsi + rdx]
movups xmm1, xmmword [rsi + rdx + 0x10]
movups xmm2, xmmword [rax + rdx]
movups xmm3, xmmword [rax + rdx + 0x10]
xorps xmm2, xmm0
xorps xmm3, xmm1
movups xmmword [rsi + rdx], xmm2
movups xmmword [rsi + rdx + 0x10], xmm3
movups xmmword [rax + rdx], xmm0
movups xmmword [rax + rdx + 0x10], xmm1
cmp rcx, r14
mov rbp, rdi
je 0x1400fe7bc
test r14b, 0x18
je 0x1400fe7a0
mov rdi, rbp
mov rdx, rcx
mov rcx, r14
and rcx, 0xfffffffffffffff8
nop dword [rax]
mov rbp, qword [rsi + rdx]
mov rbx, qword [rax + rdx]
xor rbx, rbp
mov qword [rsi + rdx], rbx
mov qword [rax + rdx], rbp
add rdx, 8
cmp rcx, rdx
jne 0x1400fe770
cmp rcx, r14
mov rbp, rdi
je 0x1400fe7bc
nop word cs:[rax + rax]
movzx edx, byte [rsi + rcx]
movzx ebx, byte [rax + rcx]
xor bl, dl
mov byte [rsi + rcx], bl
mov byte [rax + rcx], dl
lea rdx, [rcx + 1]
mov rcx, rdx
cmp r14, rdx
jne 0x1400fe7a0
add r14, qword [rbp + 0x2d0]
mov rax, r14
mov qword [rbp + 0x2d0], rax
jmp 0x1400ff0bf
mov rax, rbp
mov rcx, rbx
and rcx, 0xffffffffffffffe0
lea rdx, [rcx - 0x20]
mov r8, rdx
shr r8, 5
inc r8
test rdx, rdx
je 0x1400ff0f4
mov rbp, r8
and rbp, 0xfffffffffffffffe
lea rdx, [rsp + 0x20]
lea rdi, [rdx + r13]
add rdi, 0x30
xor edx, edx
nop dword [rax]
movups xmm0, xmmword [rsi + rdx]
movups xmm1, xmmword [rsi + rdx + 0x10]
movups xmm2, xmmword [rdi + rdx - 0x30]
movups xmm3, xmmword [rdi + rdx - 0x20]
xorps xmm2, xmm0
xorps xmm3, xmm1
movups xmmword [rsi + rdx], xmm2
movups xmmword [rsi + rdx + 0x10], xmm3
movups xmmword [rdi + rdx - 0x30], xmm0
movups xmmword [rdi + rdx - 0x20], xmm1
movups xmm0, xmmword [rsi + rdx + 0x20]
movups xmm1, xmmword [rsi + rdx + 0x30]
movups xmm2, xmmword [rdi + rdx - 0x10]
movups xmm3, xmmword [rdi + rdx]
xorps xmm2, xmm0
xorps xmm3, xmm1
movups xmmword [rsi + rdx + 0x20], xmm2
movups xmmword [rsi + rdx + 0x30], xmm3
movups xmmword [rdi + rdx - 0x10], xmm0
movups xmmword [rdi + rdx], xmm1
add rdx, 0x40
add rbp, 0xfffffffffffffffe
jne 0x1400fe810
test r8b, 1
je 0x1400fe8a6
movups xmm0, xmmword [rsi + rdx]
movups xmm1, xmmword [rsi + rdx + 0x10]
movups xmm2, xmmword [r9 + rdx]
movups xmm3, xmmword [r9 + rdx + 0x10]
xorps xmm2, xmm0
xorps xmm3, xmm1
movups xmmword [rsi + rdx], xmm2
movups xmmword [rsi + rdx + 0x10], xmm3
movups xmmword [r9 + rdx], xmm0
movups xmmword [r9 + rdx + 0x10], xmm1
cmp rbx, rcx
mov rbp, rax
je 0x1400fe90e
test bl, 0x18
je 0x1400fe8f0
mov rax, rbp
mov rdx, rcx
mov rcx, rbx
and rcx, 0xfffffffffffffff8
mov rbp, qword [rsi + rdx]
mov rdi, qword [r9 + rdx]
xor rdi, rbp
mov qword [rsi + rdx], rdi
mov qword [r9 + rdx], rbp
add rdx, 8
cmp rcx, rdx
jne 0x1400fe8c0
cmp rbx, rcx
mov rbp, rax
je 0x1400fe90e
nop word cs:[rax + rax]
movzx edx, byte [rsi + rcx]
movzx eax, byte [r9 + rcx]
xor al, dl
mov byte [rsi + rcx], al
mov byte [r9 + rcx], dl
lea rax, [rcx + 1]
mov rcx, rax
cmp rbx, rax
jne 0x1400fe8f0
sub r14, rbx
mov rax, qword [0x1402a8080]
movzx eax, byte [rax]
cmp al, 1
jne 0x1400fe94f
movaps xmm0, xmmword [rsp + 0x20]
movaps xmmword [rsp + 0xd0], xmm0
lea rcx, [rsp + 0x20]
lea r8, [rsp + 0xd0]
mov rdx, rbp
call fcn.1400fe2c0
add rbx, rsi
cmp r14, 0x7f
ja 0x1400fe9a7
jmp 0x1400fee5e
xorps xmm0, xmm0
movaps xmmword [rsp + 0x100], xmm0
movaps xmmword [rsp + 0xf0], xmm0
movaps xmmword [rsp + 0xe0], xmm0
movaps xmm0, xmmword [rsp + 0x20]
movaps xmmword [rsp + 0xd0], xmm0
lea rdx, [rsp + 0xd0]
mov r8d, 4
mov rcx, rbp
call fcn.140101510
movaps xmm0, xmmword [rsp + 0xd0]
movaps xmmword [rsp + 0x20], xmm0
add rbx, rsi
cmp r14, 0x7f
jbe 0x1400fee5e
lea rcx, [rsp + 0x50]
mov rdx, rbx
call fcn.140100380
mov rax, qword [0x1402a8080]
movzx eax, byte [rax]
cmp al, 1
jne 0x1400feac6
movaps xmm0, xmmword [rsp + 0x50]
movaps xmm1, xmmword [rsp + 0x60]
movaps xmm2, xmmword [rsp + 0x70]
movaps xmm3, xmmword [rsp + 0x80]
movaps xmm4, xmmword [rsp + 0x90]
movaps xmm5, xmmword [rsp + 0xa0]
movaps xmm6, xmmword [rsp + 0xb0]
movaps xmm7, xmmword [rsp + 0xc0]
movaps xmmword [rsp + 0xd0], xmm0
movaps xmmword [rsp + 0xe0], xmm1
movaps xmmword [rsp + 0xf0], xmm2
movaps xmmword [rsp + 0x100], xmm3
movaps xmmword [rsp + 0x110], xmm4
movaps xmmword [rsp + 0x120], xmm5
movaps xmmword [rsp + 0x130], xmm6
movaps xmmword [rsp + 0x140], xmm7
lea rdx, [rsp + 0xd0]
mov rcx, rbp
call fcn.1400fe320
movaps xmm0, xmmword [rsp + 0xd0]
movaps xmm1, xmmword [rsp + 0xe0]
movaps xmm2, xmmword [rsp + 0xf0]
movaps xmm3, xmmword [rsp + 0x100]
movaps xmm4, xmmword [rsp + 0x110]
movaps xmm5, xmmword [rsp + 0x120]
movaps xmm6, xmmword [rsp + 0x130]
movaps xmm7, xmmword [rsp + 0x140]
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x60], xmm1
movaps xmmword [rsp + 0x70], xmm2
movaps xmmword [rsp + 0x80], xmm3
movaps xmmword [rsp + 0x90], xmm4
movaps xmmword [rsp + 0xa0], xmm5
movaps xmmword [rsp + 0xb0], xmm6
movaps xmmword [rsp + 0xc0], xmm7
jmp 0x1400feaf2
lea r12, [rsp + 0x90]
lea rdx, [rsp + 0x50]
mov r8d, 4
mov rcx, rbp
call fcn.140101510
mov r8d, 4
mov rcx, rbp
mov rdx, r12
call fcn.140101510
movups xmm0, xmmword [rbx]
xorps xmm0, xmmword [rsp + 0x20]
movups xmmword [rbx], xmm0
add r14, 0xfffffffffffffff0
cmp r14, 0xf0
jb 0x1400fed90
lea r12, [rsp + 0x1a0]
sub rsi, r13
add rsi, 0x90
lea rbx, [rsp + 0x160]
lea rdi, [rsp + 0xd0]
jmp 0x1400fec5f
mov r8d, 4
mov rcx, rbp
mov rdx, rbx
call fcn.140101510
mov r8d, 4
mov rcx, rbp
mov rdx, r12
call fcn.140101510
movups xmm0, xmmword [rsi - 0x70]
movups xmm1, xmmword [rsi - 0x60]
movups xmm2, xmmword [rsi - 0x50]
movups xmm3, xmmword [rsi - 0x40]
xorps xmm0, xmmword [rsp + 0x50]
xorps xmm1, xmmword [rsp + 0x60]
movups xmmword [rsi - 0x70], xmm0
movups xmmword [rsi - 0x60], xmm1
xorps xmm2, xmmword [rsp + 0x70]
xorps xmm3, xmmword [rsp + 0x80]
movups xmmword [rsi - 0x50], xmm2
movups xmmword [rsi - 0x40], xmm3
movups xmm0, xmmword [rsi - 0x30]
movups xmm1, xmmword [rsi - 0x20]
xorps xmm0, xmmword [rsp + 0x90]
xorps xmm1, xmmword [rsp + 0xa0]
movups xmmword [rsi - 0x30], xmm0
movups xmmword [rsi - 0x20], xmm1
movups xmm0, xmmword [rsi - 0x10]
movups xmm1, xmmword [rsi]
xorps xmm0, xmmword [rsp + 0xb0]
xorps xmm1, xmmword [rsp + 0xc0]
movups xmmword [rsi - 0x10], xmm0
movups xmmword [rsi], xmm1
movaps xmm0, xmmword [rsp + 0x1d0]
movaps xmmword [rsp + 0xc0], xmm0
movaps xmm0, xmmword [rsp + 0x1c0]
movaps xmmword [rsp + 0xb0], xmm0
movaps xmm0, xmmword [rsp + 0x1b0]
movaps xmmword [rsp + 0xa0], xmm0
movaps xmm0, xmmword [rsp + 0x1a0]
movaps xmmword [rsp + 0x90], xmm0
movaps xmm0, xmmword [rsp + 0x160]
movaps xmm1, xmmword [rsp + 0x170]
movaps xmm2, xmmword [rsp + 0x180]
movaps xmm3, xmmword [rsp + 0x190]
movaps xmmword [rsp + 0x80], xmm3
movaps xmmword [rsp + 0x70], xmm2
movaps xmmword [rsp + 0x60], xmm1
movaps xmmword [rsp + 0x50], xmm0
sub rsi, 0xffffffffffffff80
cmp r14, 0xef
jbe 0x1400fed96
add r14, 0xffffffffffffff80
mov rcx, rbx
mov rdx, rsi
call fcn.140100380
mov rax, qword [0x1402a8080]
movzx eax, byte [rax]
cmp al, 1
jne 0x1400feb40
movaps xmm0, xmmword [rsp + 0x160]
movaps xmm1, xmmword [rsp + 0x170]
movaps xmm2, xmmword [rsp + 0x180]
movaps xmm3, xmmword [rsp + 0x190]
movaps xmm4, xmmword [rsp + 0x1a0]
movaps xmm5, xmmword [rsp + 0x1b0]
movaps xmm6, xmmword [rsp + 0x1c0]
movaps xmm7, xmmword [rsp + 0x1d0]
movaps xmmword [rsp + 0xd0], xmm0
movaps xmmword [rsp + 0xe0], xmm1
movaps xmmword [rsp + 0xf0], xmm2
movaps xmmword [rsp + 0x100], xmm3
movaps xmmword [rsp + 0x110], xmm4
movaps xmmword [rsp + 0x120], xmm5
movaps xmmword [rsp + 0x130], xmm6
movaps xmmword [rsp + 0x140], xmm7
mov rcx, rbp
mov rdx, rdi
call fcn.1400fe320
movaps xmm0, xmmword [rsp + 0xd0]
movaps xmm1, xmmword [rsp + 0xe0]
movaps xmm2, xmmword [rsp + 0xf0]
movaps xmm3, xmmword [rsp + 0x100]
movaps xmm4, xmmword [rsp + 0x110]
movaps xmm5, xmmword [rsp + 0x120]
movaps xmm6, xmmword [rsp + 0x130]
movaps xmm7, xmmword [rsp + 0x140]
movaps xmmword [rsp + 0x160], xmm0
movaps xmmword [rsp + 0x170], xmm1
movaps xmmword [rsp + 0x180], xmm2
movaps xmmword [rsp + 0x190], xmm3
movaps xmmword [rsp + 0x1a0], xmm4
movaps xmmword [rsp + 0x1b0], xmm5
movaps xmmword [rsp + 0x1c0], xmm6
movaps xmmword [rsp + 0x1d0], xmm7
jmp 0x1400feb62
add rbx, 0x10
jmp 0x1400fed9d
add rsi, 0xffffffffffffff90
mov rbx, rsi
add r14, 0xffffffffffffff90
mov eax, 0xf
nop word cs:[rax + rax]
movzx ecx, byte [rsp + rax + 0x41]
xor byte [rbx + rax - 0xf], cl
movzx ecx, byte [rsp + rax + 0x42]
xor byte [rbx + rax - 0xe], cl
movzx ecx, byte [rsp + rax + 0x43]
xor byte [rbx + rax - 0xd], cl
movzx ecx, byte [rsp + rax + 0x44]
xor byte [rbx + rax - 0xc], cl
movzx ecx, byte [rsp + rax + 0x45]
xor byte [rbx + rax - 0xb], cl
movzx ecx, byte [rsp + rax + 0x46]
xor byte [rbx + rax - 0xa], cl
movzx ecx, byte [rsp + rax + 0x47]
xor byte [rbx + rax - 9], cl
movzx ecx, byte [rsp + rax + 0x48]
xor byte [rbx + rax - 8], cl
movzx ecx, byte [rsp + rax + 0x49]
xor byte [rbx + rax - 7], cl
movzx ecx, byte [rsp + rax + 0x4a]
xor byte [rbx + rax - 6], cl
movzx ecx, byte [rsp + rax + 0x4b]
xor byte [rbx + rax - 5], cl
movzx ecx, byte [rsp + rax + 0x4c]
xor byte [rbx + rax - 4], cl
movzx ecx, byte [rsp + rax + 0x4d]
xor byte [rbx + rax - 3], cl
movzx ecx, byte [rsp + rax + 0x4e]
xor byte [rbx + rax - 2], cl
movzx ecx, byte [rsp + rax + 0x4f]
xor byte [rbx + rax - 1], cl
movzx ecx, byte [rsp + rax + 0x50]
xor byte [rbx + rax], cl
add rax, 0x10
cmp rax, 0x7f
jne 0x1400fedb0
add rbx, 0x70
movaps xmm0, xmmword [rsp + 0xc0]
movaps xmmword [rsp + 0x20], xmm0
mov r15, r14
and r15, 0xfffffffffffffff0
mov eax, r14d
and eax, 0xf
mov qword [rsp + 0x158], rax
test r15, r15
je 0x1400ff023
lea r12, [rsp + 0xe0]
xor r13d, r13d
lea rdi, [rsp + 0x20]
lea rsi, [rsp + 0xd0]
xorps xmm6, xmm6
jmp 0x1400feee9
movups xmmword [r12 + 0x20], xmm6
movups xmmword [r12 + 0x10], xmm6
movups xmmword [r12], xmm6
movaps xmm0, xmmword [rsp + 0x20]
movaps xmmword [rsp + 0xd0], xmm0
mov r8d, 4
mov rcx, rbp
mov rdx, rsi
call fcn.140101510
movaps xmm0, xmmword [rsp + 0xd0]
movaps xmmword [rsp + 0x20], xmm0
add r13, 0x10
cmp r15, r13
je 0x1400ff023
movzx eax, byte [rsp + 0x20]
movsd xmm0, qword [rbx + r13]
movaps xmmword [rsp + 0x30], xmm0
xor al, byte [rsp + 0x30]
movups xmm0, xmmword [rbx + r13]
mov byte [rbx + r13], al
movzx eax, byte [rsp + 0x21]
xor al, byte [rsp + 0x31]
mov byte [rbx + r13 + 1], al
movzx eax, byte [rsp + 0x22]
xor al, byte [rsp + 0x32]
mov byte [rbx + r13 + 2], al
movzx eax, byte [rsp + 0x23]
xor al, byte [rsp + 0x33]
mov byte [rbx + r13 + 3], al
movzx eax, byte [rsp + 0x24]
xor al, byte [rsp + 0x34]
mov byte [rbx + r13 + 4], al
movzx eax, byte [rsp + 0x25]
xor al, byte [rsp + 0x35]
mov byte [rbx + r13 + 5], al
movzx eax, byte [rsp + 0x26]
xor al, byte [rsp + 0x36]
mov byte [rbx + r13 + 6], al
movzx eax, byte [rsp + 0x27]
xor al, byte [rsp + 0x37]
mov byte [rbx + r13 + 7], al
movzx eax, byte [rsp + 0x28]
movsd xmm1, qword [rbx + r13 + 8]
movaps xmmword [rsp + 0x40], xmm1
xor al, byte [rsp + 0x40]
mov byte [rbx + r13 + 8], al
movzx eax, byte [rsp + 0x29]
xor al, byte [rsp + 0x41]
mov byte [rbx + r13 + 9], al
movzx eax, byte [rsp + 0x2a]
xor al, byte [rsp + 0x42]
mov byte [rbx + r13 + 0xa], al
movzx eax, byte [rsp + 0x2b]
xor al, byte [rsp + 0x43]
mov byte [rbx + r13 + 0xb], al
movzx eax, byte [rsp + 0x2c]
xor al, byte [rsp + 0x44]
mov byte [rbx + r13 + 0xc], al
movzx eax, byte [rsp + 0x2d]
xor al, byte [rsp + 0x45]
mov byte [rbx + r13 + 0xd], al
movzx eax, byte [rsp + 0x2e]
xor al, byte [rsp + 0x46]
mov byte [rbx + r13 + 0xe], al
movzx eax, byte [rsp + 0x2f]
xor al, byte [rsp + 0x47]
mov byte [rbx + r13 + 0xf], al
movaps xmmword [rsp + 0x20], xmm0
mov rax, qword [0x1402a8080]
movzx eax, byte [rax]
cmp al, 1
jne 0x1400feea0
movaps xmm0, xmmword [rsp + 0x20]
movaps xmmword [rsp + 0xd0], xmm0
mov rcx, rdi
mov rdx, rbp
mov r8, rsi
call fcn.1400fe2c0
add r13, 0x10
cmp r15, r13
jne 0x1400feee9
lea r8, [rbp + 0x2c0]
mov r10, qword [rsp + 0x158]
test r10, r10
je 0x1400ff0af
mov r9, rbp
and r14d, 1
cmp r10d, 1
jne 0x1400ff048
xor esi, esi
jmp 0x1400ff092
mov rbp, r10
sub rbp, r14
lea rdi, [r15 + rbx]
inc rdi
xor ecx, ecx
nop word [rax + rax]
movzx eax, byte [rdi + rcx - 1]
movzx edx, byte [rsp + rcx + 0x20]
xor dl, al
mov byte [rdi + rcx - 1], dl
mov byte [rsp + rcx + 0x20], al
lea rsi, [rcx + 2]
movzx eax, byte [rdi + rcx]
movzx edx, byte [rsp + rcx + 0x21]
xor dl, al
mov byte [rdi + rcx], dl
mov byte [rsp + rcx + 0x21], al
mov rcx, rsi
cmp rbp, rsi
jne 0x1400ff060
test r14, r14
mov rbp, r9
je 0x1400ff0af
add rbx, r15
movzx eax, byte [rbx + rsi]
movzx ecx, byte [rsp + rsi + 0x20]
xor cl, al
mov byte [rbx + rsi], cl
mov byte [rsp + rsi + 0x20], al
mov qword [rbp + 0x2d0], r10
movaps xmm0, xmmword [rsp + 0x20]
movaps xmmword [r8], xmm0
movaps xmm6, xmmword [rsp + 0x1e0]
movaps xmm7, xmmword [rsp + 0x1f0]
add rsp, 0x208
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor edx, edx
test r8b, 1
jne 0x1400fe728
jmp 0x1400fe752
xor edx, edx
test r8b, 1
jne 0x1400fe878
jmp 0x1400fe8a6
lea r8, str.C:Users_test.cargo_registry_srcmirrors.ustc.edu.cn_61ef6e0cd06fb9b8cfb_mode_0.7.1_srclib.rs
mov rcx, r13
mov rdx, rax
call fcn.14013c3c0
ud2
lea r8, str.C:Users_test.cargo_registry_srcmirrors.ustc.edu.cn_61ef6e0cd06fb9b8cfb_mode_0.7.1_srclib.rs
mov edx, 0x10
mov rcx, rax
call fcn.14013c3b0
ud2
lea r8, str.C:Users_test.cargo_registry_srcmirrors.ustc.edu.cn_61ef6e0cd06fb9b8cfb_mode_0.7.1_srclib.rs
mov edx, 0x10
mov rcx, r13
call fcn.14013c3a0
ud2