Function at 0x1400025d0
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 rsi, rcx
mov rcx, qword [rcx + 0x2d0]
mov eax, 0x10
sub rax, rcx
mov r14, r8
sub r14, rax
jae 0x140002644
mov rax, rcx
add rax, r8
jb 0x1400031dc
cmp rax, 0x10
ja 0x1400031eb
test r8, r8
je 0x14000276b
lea rax, [rsi + 0x2c0]
add rax, rcx
cmp r8, 8
jae 0x140002681
xor r9d, r9d
jmp 0x140002740
lea r15, [rdx + rax]
lea rdi, [rsi + 0x2c0]
movaps xmm0, xmmword [rsi + 0x2c0]
movaps xmmword [rsp + 0x20], xmm0
cmp rcx, 0x10
ja 0x1400031ff
je 0x140002831
lea r8, [rsp + rcx]
add r8, 0x20
cmp rax, 8
jae 0x14000268c
xor r9d, r9d
jmp 0x140002810
cmp r8, 0x20
jae 0x14000269e
xor r9d, r9d
jmp 0x140002706
cmp rax, 0x20
jae 0x140002777
xor r9d, r9d
jmp 0x1400027d4
mov r9, r8
and r9, 0xffffffffffffffe0
add rcx, rsi
add rcx, 0x2d0
xor r10d, r10d
nop word cs:[rax + rax]
movups xmm0, xmmword [rdx + r10]
movups xmm1, xmmword [rdx + r10 + 0x10]
movups xmm2, xmmword [rcx + r10 - 0x10]
movups xmm3, xmmword [rcx + r10]
xorps xmm2, xmm0
xorps xmm3, xmm1
movups xmmword [rdx + r10], xmm2
movups xmmword [rdx + r10 + 0x10], xmm3
movups xmmword [rcx + r10 - 0x10], xmm0
movups xmmword [rcx + r10], xmm1
add r10, 0x20
cmp r9, r10
jne 0x1400026c0
cmp r9, r8
je 0x140002761
test r8b, 0x18
je 0x140002740
mov rcx, r9
mov r9, r8
and r9, 0xfffffffffffffff8
mov r10, qword [rdx + rcx]
mov r11, qword [rax + rcx]
xor r11, r10
mov qword [rdx + rcx], r11
mov qword [rax + rcx], r10
add rcx, 8
cmp r9, rcx
jne 0x140002710
cmp r9, r8
je 0x140002761
nop word cs:[rax + rax]
movzx ecx, byte [rdx + r9]
movzx r10d, byte [rax + r9]
xor r10b, cl
mov byte [rdx + r9], r10b
mov byte [rax + r9], cl
lea rcx, [r9 + 1]
mov r9, rcx
cmp r8, rcx
jne 0x140002740
add r8, qword [rsi + 0x2d0]
mov rax, r8
mov qword [rsi + 0x2d0], rax
jmp 0x1400031b8
mov r9, rax
and r9, 0xffffffffffffffe0
lea r10, [rsp + 0x20]
add rcx, r10
add rcx, 0x10
xor r10d, r10d
nop dword [rax]
movups xmm0, xmmword [rdx + r10]
movups xmm1, xmmword [rdx + r10 + 0x10]
movups xmm2, xmmword [rcx + r10 - 0x10]
movups xmm3, xmmword [rcx + r10]
xorps xmm2, xmm0
xorps xmm3, xmm1
movups xmmword [rdx + r10], xmm2
movups xmmword [rdx + r10 + 0x10], xmm3
movups xmmword [rcx + r10 - 0x10], xmm0
movups xmmword [rcx + r10], xmm1
add r10, 0x20
cmp r9, r10
jne 0x140002790
cmp rax, r9
je 0x140002831
test al, 0x18
je 0x140002810
mov rcx, r9
mov r9, rax
and r9, 0xfffffffffffffff8
nop
mov r10, qword [rdx + rcx]
mov r11, qword [r8 + rcx]
xor r11, r10
mov qword [rdx + rcx], r11
mov qword [r8 + rcx], r10
add rcx, 8
cmp r9, rcx
jne 0x1400027e0
cmp rax, r9
je 0x140002831
nop word cs:[rax + rax]
movzx ecx, byte [rdx + r9]
movzx r10d, byte [r8 + r9]
xor r10b, cl
mov byte [rdx + r9], r10b
mov byte [r8 + r9], cl
lea rcx, [r9 + 1]
mov r9, rcx
cmp rax, rcx
jne 0x140002810
mov rax, qword [0x140041008]
movzx eax, byte [rax]
cmp al, 1
jne 0x14000286e
movaps xmm0, xmmword [rsp + 0x20]
movaps xmmword [rsp + 0x30], xmm0
lea rcx, [rsp + 0x20]
lea r8, [rsp + 0x30]
mov rdx, rsi
call fcn.140002290
cmp r14, 0x7f
mov qword [rsp + 0x1d8], rdi
ja 0x1400028b9
jmp 0x140002f2e
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.140004270
movaps xmm0, xmmword [rsp + 0x30]
movaps xmmword [rsp + 0x20], xmm0
cmp r14, 0x7f
mov qword [rsp + 0x1d8], rdi
jbe 0x140002f2e
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 [0x140041008]
movzx eax, byte [rax]
cmp al, 1
jne 0x140002a85
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.1400022f0
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 0x140002ab4
lea rdi, [rsp + 0x110]
lea rdx, [rsp + 0xd0]
mov r8d, 4
mov rcx, rsi
call fcn.140004270
mov r8d, 4
mov rcx, rsi
mov rdx, rdi
call fcn.140004270
movups xmm0, xmmword [r15]
xorps xmm0, xmmword [rsp + 0x20]
lea r13, [r15 + 0x10]
movups xmmword [r15], xmm0
add r14, 0xfffffffffffffff0
cmp r14, 0xf0
jb 0x140002e2d
lea rbp, [rsp + 0x190]
lea r12, [rsp + 0x40]
lea rbx, [rsp + 0x30]
lea rdi, [rsp + 0x150]
jmp 0x140002c4d
mov r8d, 4
mov rcx, rsi
mov rdx, rdi
call fcn.140004270
mov r8d, 4
mov rcx, rsi
mov rdx, rbp
call fcn.140004270
lea r15, [r13 + 0x80]
add r14, 0xffffffffffffff80
movups xmm0, xmmword [r13]
movups xmm1, xmmword [r13 + 0x10]
movups xmm2, xmmword [r13 + 0x20]
movups xmm3, xmmword [r13 + 0x30]
xorps xmm0, xmmword [rsp + 0xd0]
xorps xmm1, xmmword [rsp + 0xe0]
movups xmmword [r13], xmm0
movups xmmword [r13 + 0x10], xmm1
xorps xmm2, xmmword [rsp + 0xf0]
xorps xmm3, xmmword [rsp + 0x100]
movups xmmword [r13 + 0x20], xmm2
movups xmmword [r13 + 0x30], xmm3
movups xmm0, xmmword [r13 + 0x40]
movups xmm1, xmmword [r13 + 0x50]
xorps xmm0, xmmword [rsp + 0x110]
xorps xmm1, xmmword [rsp + 0x120]
movups xmmword [r13 + 0x40], xmm0
movups xmmword [r13 + 0x50], xmm1
movups xmm0, xmmword [r13 + 0x60]
movups xmm1, xmmword [r13 + 0x70]
xorps xmm0, xmmword [rsp + 0x130]
xorps xmm1, xmmword [rsp + 0x140]
movups xmmword [r13 + 0x60], xmm0
movups xmmword [r13 + 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 r13, r15
cmp r14, 0xef
jbe 0x140002e30
movups xmm0, xmmword [r13 + 0x70]
movaps xmmword [rsp + 0x30], xmm0
movups xmm0, xmmword [r13 + 0x80]
movups xmmword [r12], xmm0
movups xmm0, xmmword [r13 + 0x90]
movups xmmword [r12 + 0x10], xmm0
movups xmm0, xmmword [r13 + 0xa0]
movups xmmword [r12 + 0x20], xmm0
movups xmm0, xmmword [r13 + 0xb0]
movups xmmword [r12 + 0x30], xmm0
movups xmm0, xmmword [r13 + 0xc0]
movups xmmword [r12 + 0x40], xmm0
movups xmm0, xmmword [r13 + 0xd0]
movups xmmword [r12 + 0x50], xmm0
movups xmm0, xmmword [r13 + 0xe0]
movups xmmword [r12 + 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 [0x140041008]
movzx eax, byte [rax]
cmp al, 1
jne 0x140002b00
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, rbx
call fcn.1400022f0
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 0x140002b22
mov r15, r13
add r14, 0xffffffffffffff90
mov eax, 0xf
nop dword [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 0x140002e40
add r15, 0x70
movaps xmm0, xmmword [rsp + 0x140]
movaps xmmword [rsp + 0x20], xmm0
mov eax, r14d
and eax, 0xf
mov qword [rsp + 0x1d0], rax
mov r12, r14
and r12, 0xfffffffffffffff0
je 0x14000310e
lea r13, [rsp + 0x40]
xor ebp, ebp
lea rdi, [rsp + 0x20]
lea rbx, [rsp + 0x30]
xorps xmm6, xmm6
jmp 0x140002fa1
movups xmmword [r13 + 0x20], xmm6
movups xmmword [r13 + 0x10], xmm6
movups xmmword [r13], xmm6
movaps xmm0, xmmword [rsp + 0x20]
movaps xmmword [rsp + 0x30], xmm0
mov r8d, 4
mov rcx, rsi
mov rdx, rbx
call fcn.140004270
movaps xmm0, xmmword [rsp + 0x30]
movaps xmmword [rsp + 0x20], xmm0
add rbp, 0x10
cmp r12, rbp
je 0x14000310e
movzx eax, byte [rsp + 0x20]
movsd xmm0, qword [r15 + rbp]
movaps xmmword [rsp + 0xb0], xmm0
xor al, byte [rsp + 0xb0]
movups xmm0, xmmword [r15 + rbp]
mov byte [r15 + rbp], al
movzx eax, byte [rsp + 0x21]
xor al, byte [rsp + 0xb1]
mov byte [r15 + rbp + 1], al
movzx eax, byte [rsp + 0x22]
xor al, byte [rsp + 0xb2]
mov byte [r15 + rbp + 2], al
movzx eax, byte [rsp + 0x23]
xor al, byte [rsp + 0xb3]
mov byte [r15 + rbp + 3], al
movzx eax, byte [rsp + 0x24]
xor al, byte [rsp + 0xb4]
mov byte [r15 + rbp + 4], al
movzx eax, byte [rsp + 0x25]
xor al, byte [rsp + 0xb5]
mov byte [r15 + rbp + 5], al
movzx eax, byte [rsp + 0x26]
xor al, byte [rsp + 0xb6]
mov byte [r15 + rbp + 6], al
movzx eax, byte [rsp + 0x27]
xor al, byte [rsp + 0xb7]
mov byte [r15 + rbp + 7], al
movzx eax, byte [rsp + 0x28]
movsd xmm1, qword [r15 + rbp + 8]
movaps xmmword [rsp + 0xc0], xmm1
xor al, byte [rsp + 0xc0]
mov byte [r15 + rbp + 8], al
movzx eax, byte [rsp + 0x29]
xor al, byte [rsp + 0xc1]
mov byte [r15 + rbp + 9], al
movzx eax, byte [rsp + 0x2a]
xor al, byte [rsp + 0xc2]
mov byte [r15 + rbp + 0xa], al
movzx eax, byte [rsp + 0x2b]
xor al, byte [rsp + 0xc3]
mov byte [r15 + rbp + 0xb], al
movzx eax, byte [rsp + 0x2c]
xor al, byte [rsp + 0xc4]
mov byte [r15 + rbp + 0xc], al
movzx eax, byte [rsp + 0x2d]
xor al, byte [rsp + 0xc5]
mov byte [r15 + rbp + 0xd], al
movzx eax, byte [rsp + 0x2e]
xor al, byte [rsp + 0xc6]
mov byte [r15 + rbp + 0xe], al
movzx eax, byte [rsp + 0x2f]
xor al, byte [rsp + 0xc7]
mov byte [r15 + rbp + 0xf], al
movaps xmmword [rsp + 0x20], xmm0
mov rax, qword [0x140041008]
movzx eax, byte [rax]
cmp al, 1
jne 0x140002f60
movaps xmm0, xmmword [rsp + 0x20]
movaps xmmword [rsp + 0x30], xmm0
mov rcx, rdi
mov rdx, rsi
mov r8, rbx
call fcn.140002290
add rbp, 0x10
cmp r12, rbp
jne 0x140002fa1
mov rdi, qword [rsp + 0x1d0]
test rdi, rdi
mov r11, qword [rsp + 0x1d8]
je 0x1400031a8
and r14d, 1
cmp edi, 1
jne 0x140003134
xor eax, eax
jmp 0x14000318c
mov rcx, rdi
sub rcx, r14
lea rdx, [r12 + r15]
inc rdx
xor r8d, r8d
nop word cs:[rax + rax]
movzx eax, byte [rdx + r8 - 1]
movzx r9d, byte [rsp + r8 + 0x20]
xor r9b, al
mov byte [rdx + r8 - 1], r9b
mov byte [rsp + r8 + 0x20], al
lea rax, [r8 + 2]
movzx r9d, byte [rdx + r8]
movzx r10d, byte [rsp + r8 + 0x21]
xor r10b, r9b
mov byte [rdx + r8], r10b
mov byte [rsp + r8 + 0x21], r9b
mov r8, rax
cmp rcx, rax
jne 0x140003150
test r14, r14
je 0x1400031a8
add r15, r12
movzx ecx, byte [r15 + rax]
movzx edx, byte [rsp + rax + 0x20]
xor dl, cl
mov byte [r15 + rax], dl
mov byte [rsp + rax + 0x20], cl
mov qword [rsi + 0x2d0], rdi
movaps xmm0, xmmword [rsp + 0x20]
movaps xmmword [r11], 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:UsersUser.cargo_registry_srcindex.crates.io_6f17d22bba15001fcfb_mode_0.7.1_srclib.rs
mov rdx, rax
call fcn.14002df00
lea r8, str.C:UsersUser.cargo_registry_srcindex.crates.io_6f17d22bba15001fcfb_mode_0.7.1_srclib.rs
mov edx, 0x10
mov rcx, rax
call fcn.14002de80
lea r8, str.C:UsersUser.cargo_registry_srcindex.crates.io_6f17d22bba15001fcfb_mode_0.7.1_srclib.rs
mov edx, 0x10
call fcn.14002de00
int3