Function at 0x140002d80
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 r15, rdx
mov rsi, rcx
mov rcx, qword [rcx + 0x2d0]
mov ebx, 0x10
sub rbx, rcx
mov r12, r8
sub r12, rbx
jae 0x140002df6
mov rax, rcx
add rax, r8
jb 0x14000394d
cmp rax, 0x10
ja 0x14000396d
test r8, r8
je 0x140002f0a
lea rax, [rsi + 0x2c0]
add rax, rcx
cmp r8, 8
jae 0x140002e2b
xor edx, edx
jmp 0x140002ee0
movaps xmm0, xmmword [rsi + 0x2c0]
movaps xmmword [rsp + 0x20], xmm0
cmp rcx, 0x11
jae 0x14000395c
cmp rcx, 0x10
je 0x140002fd0
lea rax, [rsp + rcx]
add rax, 0x20
cmp rbx, 8
jae 0x140002e35
xor edx, edx
jmp 0x140002fb0
cmp r8, 0x20
jae 0x140002e46
xor edx, edx
jmp 0x140002ea6
cmp rbx, 0x20
jae 0x140002f16
xor edx, edx
jmp 0x140002f75
mov rdx, r8
and rdx, 0xffffffffffffffe0
add rcx, rsi
add rcx, 0x2d0
xor r9d, r9d
nop word [rax + rax]
movups xmm0, xmmword [r15 + r9]
movups xmm1, xmmword [r15 + r9 + 0x10]
movups xmm2, xmmword [rcx + r9 - 0x10]
movups xmm3, xmmword [rcx + r9]
xorps xmm2, xmm0
xorps xmm3, xmm1
movups xmmword [r15 + r9], xmm2
movups xmmword [r15 + r9 + 0x10], xmm3
movups xmmword [rcx + r9 - 0x10], xmm0
movups xmmword [rcx + r9], xmm1
add r9, 0x20
cmp rdx, r9
jne 0x140002e60
cmp rdx, r8
je 0x140002f00
test r8b, 0x18
je 0x140002ee0
mov rcx, rdx
mov rdx, r8
and rdx, 0xfffffffffffffff8
mov r9, qword [r15 + rcx]
mov r10, qword [rax + rcx]
xor r10, r9
mov qword [r15 + rcx], r10
mov qword [rax + rcx], r9
add rcx, 8
cmp rdx, rcx
jne 0x140002eb0
cmp rdx, r8
je 0x140002f00
nop word cs:[rax + rax]
movzx ecx, byte [r15 + rdx]
movzx r9d, byte [rax + rdx]
xor r9b, cl
mov byte [r15 + rdx], r9b
mov byte [rax + rdx], cl
lea rcx, [rdx + 1]
mov rdx, rcx
cmp r8, rcx
jne 0x140002ee0
add r8, qword [rsi + 0x2d0]
mov rax, r8
mov qword [rsi + 0x2d0], rax
jmp 0x140003929
mov rdx, rbx
and rdx, 0xffffffffffffffe0
lea r8, [rsp + 0x20]
add rcx, r8
add rcx, 0x10
xor r8d, r8d
nop dword [rax]
movups xmm0, xmmword [r15 + r8]
movups xmm1, xmmword [r15 + r8 + 0x10]
movups xmm2, xmmword [rcx + r8 - 0x10]
movups xmm3, xmmword [rcx + r8]
xorps xmm2, xmm0
xorps xmm3, xmm1
movups xmmword [r15 + r8], xmm2
movups xmmword [r15 + r8 + 0x10], xmm3
movups xmmword [rcx + r8 - 0x10], xmm0
movups xmmword [rcx + r8], xmm1
add r8, 0x20
cmp rdx, r8
jne 0x140002f30
cmp rbx, rdx
je 0x140002fd0
test bl, 0x18
je 0x140002fb0
mov rcx, rdx
mov rdx, rbx
and rdx, 0xfffffffffffffff8
nop
mov r8, qword [r15 + rcx]
mov r9, qword [rax + rcx]
xor r9, r8
mov qword [r15 + rcx], r9
mov qword [rax + rcx], r8
add rcx, 8
cmp rdx, rcx
jne 0x140002f80
cmp rbx, rdx
je 0x140002fd0
nop word cs:[rax + rax]
movzx ecx, byte [r15 + rdx]
movzx r8d, byte [rax + rdx]
xor r8b, cl
mov byte [r15 + rdx], r8b
mov byte [rax + rdx], cl
lea rcx, [rdx + 1]
mov rdx, rcx
cmp rbx, rcx
jne 0x140002fb0
mov rax, qword [0x140029008]
movzx eax, byte [rax]
cmp al, 1
jne 0x140003008
movaps xmm0, xmmword [rsp + 0x20]
movaps xmmword [rsp + 0x30], xmm0
lea rcx, [rsp + 0x20]
lea r8, [rsp + 0x30]
mov rdx, rsi
call fcn.140002a40
add r15, rbx
cmp r12, 0x7f
ja 0x14000304e
jmp 0x14000369e
xorps xmm0, xmm0
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x40], xmm0
movaps xmm0, xmmword [rsp + 0x20]
movaps xmmword [rsp + 0x30], xmm0
lea rdx, [rsp + 0x30]
mov r8d, 4
mov rcx, rsi
call fcn.1400042b0
movaps xmm0, xmmword [rsp + 0x30]
movaps xmmword [rsp + 0x20], xmm0
add r15, rbx
cmp r12, 0x7f
jbe 0x14000369e
movups xmm0, xmmword [r15]
movaps xmmword [rsp + 0x30], xmm0
movups xmm0, xmmword [r15 + 0x10]
movaps xmmword [rsp + 0x40], xmm0
movups xmm0, xmmword [r15 + 0x20]
movaps xmmword [rsp + 0x50], xmm0
movups xmm0, xmmword [r15 + 0x30]
movaps xmmword [rsp + 0x60], xmm0
movups xmm0, xmmword [r15 + 0x40]
movaps xmmword [rsp + 0x70], xmm0
movups xmm0, xmmword [r15 + 0x50]
movaps xmmword [rsp + 0x80], xmm0
movups xmm0, xmmword [r15 + 0x60]
movaps xmmword [rsp + 0x90], xmm0
movups xmm0, xmmword [r15 + 0x70]
movaps xmmword [rsp + 0xa0], xmm0
movaps xmm0, xmmword [rsp + 0xa0]
movaps xmmword [rsp + 0x140], xmm0
movaps xmm0, xmmword [rsp + 0x90]
movaps xmmword [rsp + 0x130], xmm0
movaps xmm0, xmmword [rsp + 0x80]
movaps xmmword [rsp + 0x120], xmm0
movaps xmm0, xmmword [rsp + 0x70]
movaps xmmword [rsp + 0x110], xmm0
movaps xmm0, xmmword [rsp + 0x30]
movaps xmm1, xmmword [rsp + 0x40]
movaps xmm2, xmmword [rsp + 0x50]
movaps xmm3, xmmword [rsp + 0x60]
movaps xmmword [rsp + 0x100], xmm3
movaps xmmword [rsp + 0xf0], xmm2
movaps xmmword [rsp + 0xe0], xmm1
movaps xmmword [rsp + 0xd0], xmm0
mov rax, qword [0x140029008]
movzx eax, byte [rax]
cmp al, 1
jne 0x14000321a
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 + 0x30], xmm0
movaps xmmword [rsp + 0x40], xmm1
movaps xmmword [rsp + 0x50], xmm2
movaps xmmword [rsp + 0x60], xmm3
movaps xmmword [rsp + 0x70], xmm4
movaps xmmword [rsp + 0x80], xmm5
movaps xmmword [rsp + 0x90], xmm6
movaps xmmword [rsp + 0xa0], xmm7
lea rdx, [rsp + 0x30]
mov rcx, rsi
call fcn.140002aa0
movaps xmm0, xmmword [rsp + 0x30]
movaps xmm1, xmmword [rsp + 0x40]
movaps xmm2, xmmword [rsp + 0x50]
movaps xmm3, xmmword [rsp + 0x60]
movaps xmm4, xmmword [rsp + 0x70]
movaps xmm5, xmmword [rsp + 0x80]
movaps xmm6, xmmword [rsp + 0x90]
movaps xmm7, xmmword [rsp + 0xa0]
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
jmp 0x140003249
lea rbx, [rsp + 0x110]
lea rdx, [rsp + 0xd0]
mov r8d, 4
mov rcx, rsi
call fcn.1400042b0
mov r8d, 4
mov rcx, rsi
mov rdx, rbx
call fcn.1400042b0
movups xmm0, xmmword [r15]
xorps xmm0, xmmword [rsp + 0x20]
lea rdi, [r15 + 0x10]
movups xmmword [r15], xmm0
add r12, 0xfffffffffffffff0
cmp r12, 0xf0
jb 0x140003596
lea r13, [rsp + 0x190]
lea rbp, [rsp + 0x40]
lea r14, [rsp + 0x30]
lea rbx, [rsp + 0x150]
jmp 0x1400033cb
mov r8d, 4
mov rcx, rsi
mov rdx, rbx
call fcn.1400042b0
mov r8d, 4
mov rcx, rsi
mov rdx, r13
call fcn.1400042b0
lea r15, [rdi + 0x80]
add r12, 0xffffffffffffff80
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
movups xmm2, xmmword [rdi + 0x20]
movups xmm3, xmmword [rdi + 0x30]
xorps xmm0, xmmword [rsp + 0xd0]
xorps xmm1, xmmword [rsp + 0xe0]
movups xmmword [rdi], xmm0
movups xmmword [rdi + 0x10], xmm1
xorps xmm2, xmmword [rsp + 0xf0]
xorps xmm3, xmmword [rsp + 0x100]
movups xmmword [rdi + 0x20], xmm2
movups xmmword [rdi + 0x30], xmm3
movups xmm0, xmmword [rdi + 0x40]
movups xmm1, xmmword [rdi + 0x50]
xorps xmm0, xmmword [rsp + 0x110]
xorps xmm1, xmmword [rsp + 0x120]
movups xmmword [rdi + 0x40], xmm0
movups xmmword [rdi + 0x50], xmm1
movups xmm0, xmmword [rdi + 0x60]
movups xmm1, xmmword [rdi + 0x70]
xorps xmm0, xmmword [rsp + 0x130]
xorps xmm1, xmmword [rsp + 0x140]
movups xmmword [rdi + 0x60], xmm0
movups xmmword [rdi + 0x70], xmm1
movaps xmm0, xmmword [rsp + 0x1c0]
movaps xmmword [rsp + 0x140], xmm0
movaps xmm0, xmmword [rsp + 0x1b0]
movaps xmmword [rsp + 0x130], xmm0
movaps xmm0, xmmword [rsp + 0x1a0]
movaps xmmword [rsp + 0x120], xmm0
movaps xmm0, xmmword [rsp + 0x190]
movaps xmmword [rsp + 0x110], xmm0
movaps xmm0, xmmword [rsp + 0x150]
movaps xmm1, xmmword [rsp + 0x160]
movaps xmm2, xmmword [rsp + 0x170]
movaps xmm3, xmmword [rsp + 0x180]
movaps xmmword [rsp + 0x100], xmm3
movaps xmmword [rsp + 0xf0], xmm2
movaps xmmword [rsp + 0xe0], xmm1
movaps xmmword [rsp + 0xd0], xmm0
mov rdi, r15
cmp r12, 0xef
jbe 0x140003599
movups xmm0, xmmword [rdi + 0x70]
movaps xmmword [rsp + 0x30], xmm0
movups xmm0, xmmword [rdi + 0x80]
movups xmmword [rbp], xmm0
movups xmm0, xmmword [rdi + 0x90]
movups xmmword [rbp + 0x10], xmm0
movups xmm0, xmmword [rdi + 0xa0]
movups xmmword [rbp + 0x20], xmm0
movups xmm0, xmmword [rdi + 0xb0]
movups xmmword [rbp + 0x30], xmm0
movups xmm0, xmmword [rdi + 0xc0]
movups xmmword [rbp + 0x40], xmm0
movups xmm0, xmmword [rdi + 0xd0]
movups xmmword [rbp + 0x50], xmm0
movups xmm0, xmmword [rdi + 0xe0]
movups xmmword [rbp + 0x60], xmm0
movaps xmm0, xmmword [rsp + 0xa0]
movaps xmmword [rsp + 0x1c0], xmm0
movaps xmm0, xmmword [rsp + 0x90]
movaps xmmword [rsp + 0x1b0], xmm0
movaps xmm0, xmmword [rsp + 0x80]
movaps xmmword [rsp + 0x1a0], xmm0
movaps xmm0, xmmword [rsp + 0x70]
movaps xmmword [rsp + 0x190], xmm0
movaps xmm0, xmmword [rsp + 0x30]
movaps xmm1, xmmword [rsp + 0x40]
movaps xmm2, xmmword [rsp + 0x50]
movaps xmm3, xmmword [rsp + 0x60]
movaps xmmword [rsp + 0x180], xmm3
movaps xmmword [rsp + 0x170], xmm2
movaps xmmword [rsp + 0x160], xmm1
movaps xmmword [rsp + 0x150], xmm0
mov rax, qword [0x140029008]
movzx eax, byte [rax]
cmp al, 1
jne 0x140003290
movaps xmm0, xmmword [rsp + 0x150]
movaps xmm1, xmmword [rsp + 0x160]
movaps xmm2, xmmword [rsp + 0x170]
movaps xmm3, xmmword [rsp + 0x180]
movaps xmm4, xmmword [rsp + 0x190]
movaps xmm5, xmmword [rsp + 0x1a0]
movaps xmm6, xmmword [rsp + 0x1b0]
movaps xmm7, xmmword [rsp + 0x1c0]
movaps xmmword [rsp + 0x30], xmm0
movaps xmmword [rsp + 0x40], xmm1
movaps xmmword [rsp + 0x50], xmm2
movaps xmmword [rsp + 0x60], xmm3
movaps xmmword [rsp + 0x70], xmm4
movaps xmmword [rsp + 0x80], xmm5
movaps xmmword [rsp + 0x90], xmm6
movaps xmmword [rsp + 0xa0], xmm7
mov rcx, rsi
mov rdx, r14
call fcn.140002aa0
movaps xmm0, xmmword [rsp + 0x30]
movaps xmm1, xmmword [rsp + 0x40]
movaps xmm2, xmmword [rsp + 0x50]
movaps xmm3, xmmword [rsp + 0x60]
movaps xmm4, xmmword [rsp + 0x70]
movaps xmm5, xmmword [rsp + 0x80]
movaps xmm6, xmmword [rsp + 0x90]
movaps xmm7, xmmword [rsp + 0xa0]
movaps xmmword [rsp + 0x150], xmm0
movaps xmmword [rsp + 0x160], xmm1
movaps xmmword [rsp + 0x170], xmm2
movaps xmmword [rsp + 0x180], xmm3
movaps xmmword [rsp + 0x190], xmm4
movaps xmmword [rsp + 0x1a0], xmm5
movaps xmmword [rsp + 0x1b0], xmm6
movaps xmmword [rsp + 0x1c0], xmm7
jmp 0x1400032b2
mov r15, rdi
add r12, 0xffffffffffffff90
mov eax, 0xf
nop word cs:[rax + rax]
movzx ecx, byte [rsp + rax + 0xc1]
xor byte [r15 + rax - 0xf], cl
movzx ecx, byte [rsp + rax + 0xc2]
xor byte [r15 + rax - 0xe], cl
movzx ecx, byte [rsp + rax + 0xc3]
xor byte [r15 + rax - 0xd], cl
movzx ecx, byte [rsp + rax + 0xc4]
xor byte [r15 + rax - 0xc], cl
movzx ecx, byte [rsp + rax + 0xc5]
xor byte [r15 + rax - 0xb], cl
movzx ecx, byte [rsp + rax + 0xc6]
xor byte [r15 + rax - 0xa], cl
movzx ecx, byte [rsp + rax + 0xc7]
xor byte [r15 + rax - 9], cl
movzx ecx, byte [rsp + rax + 0xc8]
xor byte [r15 + rax - 8], cl
movzx ecx, byte [rsp + rax + 0xc9]
xor byte [r15 + rax - 7], cl
movzx ecx, byte [rsp + rax + 0xca]
xor byte [r15 + rax - 6], cl
movzx ecx, byte [rsp + rax + 0xcb]
xor byte [r15 + rax - 5], cl
movzx ecx, byte [rsp + rax + 0xcc]
xor byte [r15 + rax - 4], cl
movzx ecx, byte [rsp + rax + 0xcd]
xor byte [r15 + rax - 3], cl
movzx ecx, byte [rsp + rax + 0xce]
xor byte [r15 + rax - 2], cl
movzx ecx, byte [rsp + rax + 0xcf]
xor byte [r15 + rax - 1], cl
movzx ecx, byte [rsp + rax + 0xd0]
xor byte [r15 + rax], cl
add rax, 0x10
cmp rax, 0x7f
jne 0x1400035b0
add r15, 0x70
movaps xmm0, xmmword [rsp + 0x140]
movaps xmmword [rsp + 0x20], xmm0
mov rbp, r12
and rbp, 0xfffffffffffffff0
mov eax, r12d
and eax, 0xf
mov qword [rsp + 0x1d8], rax
test rbp, rbp
je 0x14000388a
lea rdi, [rsp + 0x40]
xor r13d, r13d
lea rbx, [rsp + 0x20]
lea r14, [rsp + 0x30]
xorps xmm6, xmm6
jmp 0x14000371d
movups xmmword [rdi + 0x20], xmm6
movups xmmword [rdi + 0x10], xmm6
movups xmmword [rdi], xmm6
movaps xmm0, xmmword [rsp + 0x20]
movaps xmmword [rsp + 0x30], xmm0
mov r8d, 4
mov rcx, rsi
mov rdx, r14
call fcn.1400042b0
movaps xmm0, xmmword [rsp + 0x30]
movaps xmmword [rsp + 0x20], xmm0
add r13, 0x10
cmp rbp, r13
je 0x14000388a
movzx eax, byte [rsp + 0x20]
movsd xmm0, qword [r15 + r13]
movaps xmmword [rsp + 0xb0], xmm0
xor al, byte [rsp + 0xb0]
movups xmm0, xmmword [r15 + r13]
mov byte [r15 + r13], al
movzx eax, byte [rsp + 0x21]
xor al, byte [rsp + 0xb1]
mov byte [r15 + r13 + 1], al
movzx eax, byte [rsp + 0x22]
xor al, byte [rsp + 0xb2]
mov byte [r15 + r13 + 2], al
movzx eax, byte [rsp + 0x23]
xor al, byte [rsp + 0xb3]
mov byte [r15 + r13 + 3], al
movzx eax, byte [rsp + 0x24]
xor al, byte [rsp + 0xb4]
mov byte [r15 + r13 + 4], al
movzx eax, byte [rsp + 0x25]
xor al, byte [rsp + 0xb5]
mov byte [r15 + r13 + 5], al
movzx eax, byte [rsp + 0x26]
xor al, byte [rsp + 0xb6]
mov byte [r15 + r13 + 6], al
movzx eax, byte [rsp + 0x27]
xor al, byte [rsp + 0xb7]
mov byte [r15 + r13 + 7], al
movzx eax, byte [rsp + 0x28]
movsd xmm1, qword [r15 + r13 + 8]
movaps xmmword [rsp + 0xc0], xmm1
xor al, byte [rsp + 0xc0]
mov byte [r15 + r13 + 8], al
movzx eax, byte [rsp + 0x29]
xor al, byte [rsp + 0xc1]
mov byte [r15 + r13 + 9], al
movzx eax, byte [rsp + 0x2a]
xor al, byte [rsp + 0xc2]
mov byte [r15 + r13 + 0xa], al
movzx eax, byte [rsp + 0x2b]
xor al, byte [rsp + 0xc3]
mov byte [r15 + r13 + 0xb], al
movzx eax, byte [rsp + 0x2c]
xor al, byte [rsp + 0xc4]
mov byte [r15 + r13 + 0xc], al
movzx eax, byte [rsp + 0x2d]
xor al, byte [rsp + 0xc5]
mov byte [r15 + r13 + 0xd], al
movzx eax, byte [rsp + 0x2e]
xor al, byte [rsp + 0xc6]
mov byte [r15 + r13 + 0xe], al
movzx eax, byte [rsp + 0x2f]
xor al, byte [rsp + 0xc7]
mov byte [r15 + r13 + 0xf], al
movaps xmmword [rsp + 0x20], xmm0
mov rax, qword [0x140029008]
movzx eax, byte [rax]
cmp al, 1
jne 0x1400036e0
movaps xmm0, xmmword [rsp + 0x20]
movaps xmmword [rsp + 0x30], xmm0
mov rcx, rbx
mov rdx, rsi
mov r8, r14
call fcn.140002a40
add r13, 0x10
cmp rbp, r13
jne 0x14000371d
lea rax, [rsi + 0x2c0]
mov rdi, qword [rsp + 0x1d8]
test rdi, rdi
je 0x14000391a
and r12d, 1
cmp edi, 1
jne 0x1400038ab
xor ecx, ecx
jmp 0x1400038fc
mov rdx, rdi
sub rdx, r12
lea r8, [r15 + rbp]
inc r8
xor r9d, r9d
nop dword [rax + rax]
movzx ecx, byte [r8 + r9 - 1]
movzx r10d, byte [rsp + r9 + 0x20]
xor r10b, cl
mov byte [r8 + r9 - 1], r10b
mov byte [rsp + r9 + 0x20], cl
lea rcx, [r9 + 2]
movzx r10d, byte [r8 + r9]
movzx r11d, byte [rsp + r9 + 0x21]
xor r11b, r10b
mov byte [r8 + r9], r11b
mov byte [rsp + r9 + 0x21], r10b
mov r9, rcx
cmp rdx, rcx
jne 0x1400038c0
test r12, r12
je 0x14000391a
add r15, rbp
movzx edx, byte [r15 + rcx]
movzx r8d, byte [rsp + rcx + 0x20]
xor r8b, dl
mov byte [r15 + rcx], r8b
mov byte [rsp + rcx + 0x20], dl
mov qword [rsi + 0x2d0], rdi
movaps xmm0, xmmword [rsp + 0x20]
movaps xmmword [rax], 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
lea r8, str.C:Usersl1nvx.cargo_registry_srcindex.crates.io_6f17d22bba15001fcfb_mode_0.7.1_srclib.rs
mov rdx, rax
call fcn.14001f190
lea r8, str.C:Usersl1nvx.cargo_registry_srcindex.crates.io_6f17d22bba15001fcfb_mode_0.7.1_srclib.rs
mov edx, 0x10
call fcn.14001f0b0
lea r8, str.C:Usersl1nvx.cargo_registry_srcindex.crates.io_6f17d22bba15001fcfb_mode_0.7.1_srclib.rs
mov edx, 0x10
mov rcx, rax
call fcn.14001f120
int3