Function at 0x14002ee60
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
mov eax, 0x12b8
call fcn.14015e740
sub rsp, rax
lea rbp, [rsp + 0x80]
and rsp, 0xffffffffffffffc0
mov r13, r9
mov r15, r8
mov rsi, rdx
mov r12, rcx
mov r8, qword [rbp + 0x12a8]
mov rdx, qword [rbp + 0x12a0]
xorps xmm0, xmm0
movaps xmmword [rsp + 0x630], xmm0
movaps xmmword [rsp + 0x620], xmm0
movaps xmmword [rsp + 0x610], xmm0
movaps xmmword [rsp + 0x600], xmm0
lea rdi, [rsp + 0x640]
lea r9, [rsp + 0x600]
mov rcx, rdi
call fcn.1400b14c0
mov rbx, qword [rsp + 0x640]
test rbx, rbx
je 0x14002ef09
cmp qword [rsi], 0
mov r8d, 0x20
je 0x14002eef7
mov r8, qword [rsi + 8]
mov al, 3
cmp r8, 0xa
jae 0x14002ef20
mov r14b, 0xff
mov edx, 0xa
jmp 0x14002ef2e
movzx eax, byte [rsp + 0x648]
shl rax, 8
or rax, 1
mov qword [r12 + 8], rax
jmp 0x14002ef3d
cmp r8, 0x40
jbe 0x14002ef5e
mov r14b, 1
mov edx, 0x40
mov r10, qword [rsp + 0x648]
xorps xmm0, xmm0
movaps xmmword [rsp + 0x180], xmm0
movaps xmmword [rsp + 0x170], xmm0
movaps xmmword [rsp + 0x160], xmm0
movaps xmmword [rsp + 0x150], xmm0
mov eax, dword [rsi + 0x50]
test rax, rax
je 0x1400308d3
lea r9, [rax*8]
mov ecx, dword [rsi + 0x48]
cmp r9, rcx
mov qword [rsp + 0xc0], rcx
cmovbe r9, rcx
mov qword [rsp + 0x90], rax
lea rcx, [rax*4]
mov rax, r9
or rax, rcx
movabs rdx, 0x700000000
test rax, rdx
je 0x14002efde
mov rax, r9
xor edx, edx
div rcx
jmp 0x14002efe5
mov eax, r9d
xor edx, edx
div ecx
mov qword [rsp + 0xa8], rax
sub r9, rdx
mov qword [rsp + 0xa0], r8
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x60], r9
je 0x14002f1b7
mov qword [rsp + 0x40], r10
mov rax, r9
shr rax, 0x35
jne case.0x14002109e.123
mov r14, r9
shl r14, 0xa
movzx eax, byte [0x1401ea9b8]
mov edx, 0x40
mov rcx, r14
mov rsi, r9
call fcn.140143230
test rax, rax
je 0x1400308f4
mov edx, 1
mov r14, rax
cmp rsi, 2
mov qword [rsp + 0x68], rax
jb 0x14002f181
mov rcx, rsi
mov qword [rsp + 0x80], r12
lea r12, [rsi - 1]
lea rdx, [rsi - 2]
mov esi, r12d
and esi, 7
mov r14, rax
cmp rdx, 7
jb 0x14002f142
and r12, 0xfffffffffffffff8
mov r14, rax
nop word cs:[rax + rax]
mov r8d, 0x400
mov rcx, r14
xor edx, edx
call sub.VCRUNTIME140.dll_memset
lea rcx, [r14 + 0x400]
mov r8d, 0x400
xor edx, edx
call sub.VCRUNTIME140.dll_memset
lea rcx, [r14 + 0x800]
mov r8d, 0x400
xor edx, edx
call sub.VCRUNTIME140.dll_memset
lea rcx, [r14 + 0xc00]
mov r8d, 0x400
xor edx, edx
call sub.VCRUNTIME140.dll_memset
lea rcx, [r14 + 0x1000]
mov r8d, 0x400
xor edx, edx
call sub.VCRUNTIME140.dll_memset
lea rcx, [r14 + 0x1400]
mov r8d, 0x400
xor edx, edx
call sub.VCRUNTIME140.dll_memset
lea rcx, [r14 + 0x1800]
mov r8d, 0x400
xor edx, edx
call sub.VCRUNTIME140.dll_memset
lea rcx, [r14 + 0x1c00]
mov r8d, 0x400
xor edx, edx
call sub.VCRUNTIME140.dll_memset
add r14, 0x2000
add r12, 0xfffffffffffffff8
jne 0x14002f090
mov rcx, qword [rsp + 0x60]
mov rdx, rcx
test rsi, rsi
mov r12, qword [rsp + 0x80]
je 0x14002f181
nop word cs:[rax + rax]
mov r8d, 0x400
mov rcx, r14
xor edx, edx
call sub.VCRUNTIME140.dll_memset
add r14, 0x400
dec rsi
jne 0x14002f160
mov rdx, qword [rsp + 0x60]
mov r8d, 0x400
mov rcx, r14
mov rsi, rdx
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov rdx, rsi
mov rcx, qword [rsp + 0x68]
mov r9, qword [rsp + 0x60]
mov r10, qword [rsp + 0x40]
mov rax, r13
shr rax, 0x20
mov r14b, 0xa
je 0x14002f1ce
jmp case.0x14000934d.329
xor edx, edx
mov ecx, 0x40
mov rax, r13
shr rax, 0x20
mov r14b, 0xa
jne case.0x14000934d.329
mov r14b, 0xb
cmp r10, 8
jb case.0x14000934d.329
mov rax, r10
shr rax, 0x20
mov r14b, 0xc
jne case.0x14000934d.329
mov qword [rsp + 0x40], r10
mov qword [rsp + 0xd8], rdx
mov qword [rsp + 0x68], rcx
lea rsi, [rsp + 0x248]
xorps xmm0, xmm0
movups xmmword [rsp + 0x248], xmm0
movups xmmword [rsp + 0x2b8], xmm0
movups xmmword [rsp + 0x2a8], xmm0
movups xmmword [rsp + 0x298], xmm0
movups xmmword [rsp + 0x288], xmm0
movups xmmword [rsp + 0x278], xmm0
movups xmmword [rsp + 0x268], xmm0
movups xmmword [rsp + 0x258], xmm0
movabs rax, 0x6a09e667f2bdc948
mov qword [rsp + 0x200], rax
movabs rax, 0xbb67ae8584caa73b
mov qword [rsp + 0x208], rax
movabs rax, 0x3c6ef372fe94f82b
mov qword [rsp + 0x210], rax
movabs rax, 0xa54ff53a5f1d36f1
mov qword [rsp + 0x218], rax
movabs rax, 0x510e527fade682d1
mov qword [rsp + 0x220], rax
movabs rax, 0x9b05688c2b3e6c1f
mov qword [rsp + 0x228], rax
movabs rax, 0x1f83d9abfb41bd6b
mov qword [rsp + 0x230], rax
movabs rax, 0x5be0cd19137e2179
mov qword [rsp + 0x238], rax
mov qword [rsp + 0x240], 0
mov rax, qword [rsp + 0x90]
mov dword [rsp + 0x248], eax
mov byte [rsp + 0x2c8], 4
mov rax, qword [rsp + 0xa0]
mov dword [rsp + 0x24c], eax
mov rax, qword [rsp + 0xc0]
mov dword [rsp + 0x250], eax
mov byte [rsp + 0x2c8], 0xc
mov rax, qword [rsp + 0x50]
mov ecx, dword [rax + 0x4c]
mov qword [rsp + 0xb0], rcx
mov dword [rsp + 0x254], ecx
mov byte [rsp + 0x2c8], 0x10
mov ecx, dword [rax + 0x68]
mov dword [rsp + 0xd4], ecx
mov dword [rsp + 0x258], ecx
mov byte [rsp + 0x2c8], 0x14
movzx eax, byte [rax + 0x6c]
mov qword [rsp + 0xb8], rax
mov dword [rsp + 0x25c], eax
mov dword [rsp + 0x260], r13d
mov byte [rsp + 0x2c8], 0x1c
cmp r13, 0x64
mov qword [rsp + 0x80], r12
jbe 0x14002f48e
mov eax, dword [r15 + 0x60]
mov dword [rsp + 0x2c4], eax
movups xmm0, xmmword [r15 + 0x50]
movups xmmword [rsp + 0x2b4], xmm0
movups xmm0, xmmword [r15 + 0x40]
movups xmmword [rsp + 0x2a4], xmm0
movups xmm0, xmmword [r15]
movups xmm1, xmmword [r15 + 0x10]
movups xmm2, xmmword [r15 + 0x20]
movups xmm3, xmmword [r15 + 0x30]
movups xmmword [rsp + 0x294], xmm3
movups xmmword [rsp + 0x284], xmm2
movups xmmword [rsp + 0x274], xmm1
movups xmmword [rsp + 0x264], xmm0
mov qword [rsp + 0x240], 0x80
lea rcx, [rsp + 0x200]
mov rdx, rsi
xor r8d, r8d
call fcn.140085cc0
add r13, 0xffffffffffffff9c
mov eax, r13d
and eax, 0x7f
shr r13, 7
xor ecx, ecx
test rax, rax
sete cl
mov r14d, 0x80
cmovne r14, rax
sub r13, rcx
mov rsi, r13
shl rsi, 7
lea rax, [r15 + rsi]
add rax, 0x64
mov qword [rsp + 0x58], rax
test r13, r13
je 0x14002f474
add r15, 0x64
lea r13, [rsp + 0x200]
lea r12, [r15 + 0x80]
sub qword [rsp + 0x240], 0xffffffffffffff80
mov rcx, r13
mov rdx, r15
xor r8d, r8d
call fcn.140085cc0
mov r15, r12
add rsi, 0xffffffffffffff80
jne 0x14002f44d
lea r13, [rsp + 0x248]
mov rcx, r13
mov rdx, qword [rsp + 0x58]
mov r8, r14
call sub.VCRUNTIME140.dll_memcpy
jmp 0x14002f4ab
lea rcx, [rsp + 0x264]
mov rdx, r15
mov r8, r13
call sub.VCRUNTIME140.dll_memcpy
add r13, 0x1c
mov r14, r13
mov r13, rsi
mov byte [rsp + 0x2c8], r14b
mov rax, qword [rsp + 0x40]
mov dword [rsp + 0x640], eax
movzx r15d, r14b
cmp r15, 0x7d
jb 0x14002f515
test r14b, r14b
je 0x14002f523
mov r8d, 0x80
sub r8, r15
lea rsi, [rsp + r8]
add rsi, 0x640
lea rcx, [r15 + r13]
lea rdx, [rsp + 0x640]
call sub.VCRUNTIME140.dll_memcpy
sub qword [rsp + 0x240], 0xffffffffffffff80
lea rcx, [rsp + 0x200]
mov rdx, r13
xor r8d, r8d
call fcn.140085cc0
add r15, 0xffffffffffffff84
jmp 0x14002f531
mov dword [rsp + r15 + 0x248], eax
add r15, 4
jmp 0x14002f54b
mov r15d, 4
lea rsi, [rsp + 0x640]
mov rdx, r15
and rdx, 0xffffffffffffff80
add rdx, rsi
mov rcx, r13
mov r8, r15
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rsp + 0x40]
mov byte [rsp + 0x2c8], r15b
mov r14d, 0x80
mov r8d, 0x80
sub r8, r15
mov rsi, rax
sub rsi, r8
jbe 0x14002f60e
mov r12, r13
lea r13, [rbx + r8]
add r15, r12
mov rcx, r15
mov rdx, rbx
call sub.VCRUNTIME140.dll_memcpy
sub qword [rsp + 0x240], 0xffffffffffffff80
lea rcx, [rsp + 0x200]
mov rdx, r12
xor r8d, r8d
call fcn.140085cc0
mov eax, esi
and eax, 0x7f
shr rsi, 7
xor ecx, ecx
test rax, rax
sete cl
cmovne r14, rax
sub rsi, rcx
mov r12, rsi
shl r12, 7
lea rbx, [r12 + r13]
test rsi, rsi
je 0x14002f5f6
lea r15, [rsp + 0x200]
lea rsi, [r13 + 0x80]
sub qword [rsp + 0x240], 0xffffffffffffff80
mov rcx, r15
mov rdx, r13
xor r8d, r8d
call fcn.140085cc0
mov r13, rsi
add r12, 0xffffffffffffff80
jne 0x14002f5cf
lea r13, [rsp + 0x248]
mov rcx, r13
mov rdx, rbx
mov r8, r14
call sub.VCRUNTIME140.dll_memcpy
jmp 0x14002f626
lea rcx, [r15 + r13]
mov rdx, rbx
mov r8, rax
mov rsi, rax
call sub.VCRUNTIME140.dll_memcpy
add r15, rsi
mov r14, r15
mov byte [rsp + 0x2c8], r14b
mov rax, qword [rsp + 0x50]
mov rbx, qword [rax + 0x58]
test rbx, rbx
je 0x14002f6b6
mov r15, qword [rax + 0x60]
mov dword [rsp + 0x640], r15d
movzx r13d, r14b
cmp r13, 0x7d
jb 0x14002f71e
test r14b, r14b
je 0x14002f745
mov r8d, 0x80
sub r8, r13
lea rdi, [rsp + r8]
add rdi, 0x640
lea rsi, [rsp + 0x248]
lea rcx, [rsi + r13]
lea rdx, [rsp + 0x640]
call sub.VCRUNTIME140.dll_memcpy
sub qword [rsp + 0x240], 0xffffffffffffff80
lea rcx, [rsp + 0x200]
mov rdx, rsi
xor r8d, r8d
call fcn.140085cc0
add r13, 0xffffffffffffff84
mov r14, qword [rsp + 0x50]
jmp 0x14002f758
mov dword [rsp + 0x640], 0
movzx edi, r14b
cmp rdi, 0x7d
jb 0x14002f731
test r14b, r14b
je 0x14002f856
mov r8d, 0x80
sub r8, rdi
lea rsi, [rsp + r8]
add rsi, 0x640
lea rcx, [rdi + r13]
lea rdx, [rsp + 0x640]
call sub.VCRUNTIME140.dll_memcpy
sub qword [rsp + 0x240], 0xffffffffffffff80
lea rcx, [rsp + 0x200]
mov rdx, r13
xor r8d, r8d
call fcn.140085cc0
add rdi, 0xffffffffffffff84
jmp 0x14002f863
mov dword [rsp + r13 + 0x248], r15d
add r13, 4
mov r14, qword [rsp + 0x50]
jmp 0x14002f76d
mov dword [rsp + rdi + 0x248], 0
add rdi, 4
jmp 0x14002f82d
mov r13d, 4
mov r14, qword [rsp + 0x50]
lea rsi, [rsp + 0x248]
mov rdx, r13
and rdx, 0xffffffffffffff80
add rdx, rdi
mov rcx, rsi
mov r8, r13
call sub.VCRUNTIME140.dll_memcpy
mov byte [rsp + 0x2c8], r13b
mov edi, 0x80
mov r8d, 0x80
sub r8, r13
mov rsi, r15
sub rsi, r8
jbe 0x14002f834
lea r14, [rbx + r8]
lea rax, [rsp + 0x248]
add r13, rax
mov rcx, r13
mov r13, rax
mov rdx, rbx
call sub.VCRUNTIME140.dll_memcpy
sub qword [rsp + 0x240], 0xffffffffffffff80
lea rcx, [rsp + 0x200]
mov rdx, r13
xor r8d, r8d
call fcn.140085cc0
mov eax, esi
and eax, 0x7f
shr rsi, 7
xor ecx, ecx
test rax, rax
sete cl
cmovne rdi, rax
sub rsi, rcx
mov r12, rsi
shl r12, 7
lea rbx, [r14 + r12]
test rsi, rsi
je 0x14002f81f
lea r15, [rsp + 0x200]
lea rsi, [r14 + 0x80]
sub qword [rsp + 0x240], 0xffffffffffffff80
mov rcx, r15
mov rdx, r14
xor r8d, r8d
call fcn.140085cc0
mov r14, rsi
add r12, 0xffffffffffffff80
jne 0x14002f7f8
mov rcx, r13
mov rdx, rbx
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
mov r14, qword [rsp + 0x50]
jmp 0x14002f87d
lea rsi, [rsp + 0x248]
lea rcx, [rsi + r13]
mov rdx, rbx
mov r8, r15
call sub.VCRUNTIME140.dll_memcpy
add r15, r13
mov r13, rsi
mov rdi, r15
jmp 0x14002f87d
mov edi, 4
lea rsi, [rsp + 0x640]
mov r14, qword [rsp + 0x50]
mov rdx, rdi
and rdx, 0xffffffffffffff80
add rdx, rsi
mov rcx, r13
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
mov byte [rsp + 0x2c8], dil
mov rbx, qword [r14 + 0x40]
cmp rbx, 0x21
jae 0x140030903
mov dword [rsp + 0x640], ebx
movzx esi, dil
cmp sil, 0x7c
jbe 0x14002f900
mov r8d, 0x80
sub r8, rsi
lea rdi, [rsp + r8]
add rdi, 0x640
lea rcx, [rsi + r13]
lea rdx, [rsp + 0x640]
call sub.VCRUNTIME140.dll_memcpy
sub qword [rsp + 0x240], 0xffffffffffffff80
lea rcx, [rsp + 0x200]
mov rdx, r13
xor r8d, r8d
call fcn.140085cc0
mov rcx, r13
lea r13, [rsi - 0x7c]
mov rdx, r13
and rdx, 0xffffffffffffff80
add rdx, rdi
mov r8, r13
call sub.VCRUNTIME140.dll_memcpy
jmp 0x14002f90b
mov dword [rsp + rsi + 0x248], ebx
lea r13, [rsi + 4]
add r14, 0x20
mov byte [rsp + 0x2c8], r13b
movzx edi, r13b
mov r15d, 0x80
sub r15, rdi
cmp rbx, r15
jbe 0x14002f973
test r13b, r13b
je 0x14002f991
lea r13, [rsp + 0x248]
add rdi, r13
mov rcx, rdi
mov rdx, r14
mov r8, r15
call sub.VCRUNTIME140.dll_memcpy
sub qword [rsp + 0x240], 0xffffffffffffff80
xor edi, edi
lea rcx, [rsp + 0x200]
mov rdx, r13
xor r8d, r8d
call fcn.140085cc0
sub rbx, r15
je 0x14002f9ff
add r14, r15
jmp 0x14002f999
lea rcx, [rsp + 0x248]
add rcx, rdi
mov rdx, r14
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
add rdi, rbx
jmp 0x14002fa14
lea r13, [rsp + 0x248]
mov eax, ebx
and eax, 0x7f
shr rbx, 7
xor ecx, ecx
test rax, rax
sete cl
mov edi, 0x80
cmovne rdi, rax
sub rbx, rcx
mov rsi, rbx
shl rsi, 7
lea r15, [r14 + rsi]
test rbx, rbx
je 0x14002fa06
lea rbx, [rsp + 0x200]
lea r12, [r14 + 0x80]
sub qword [rsp + 0x240], 0xffffffffffffff80
mov rcx, rbx
mov rdx, r14
xor r8d, r8d
call fcn.140085cc0
mov r14, r12
add rsi, 0xffffffffffffff80
jne 0x14002f9ce
lea r13, [rsp + 0x248]
jmp 0x14002fa06
lea r15, [0x1401aa580]
mov rcx, r13
mov rdx, r15
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
mov byte [rsp + 0x2c8], dil
lea rcx, [rsp + 0x640]
lea r14, [rsp + 0x200]
mov r8d, 0xd0
mov rdx, r14
call sub.VCRUNTIME140.dll_memcpy
lea rdi, [rsp + 0x688]
movzx eax, byte [rsp + 0x708]
add qword [rsp + 0x680], rax
cmp rax, 0x80
je 0x14002fa6e
lea rcx, [rdi + rax]
mov r8d, 0x80
sub r8, rax
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov byte [rsp + 0x708], 0
lea rcx, [rsp + 0x640]
mov rdx, rdi
mov r8, 0xffffffffffffffff
call fcn.140085cc0
movups xmm0, xmmword [rsp + 0x640]
movups xmm1, xmmword [rsp + 0x650]
movups xmm2, xmmword [rsp + 0x660]
movups xmm3, xmmword [rsp + 0x670]
movaps xmmword [rsp + 0xa40], xmm0
movaps xmmword [rsp + 0xa50], xmm1
movaps xmmword [rsp + 0x190], xmm0
movaps xmmword [rsp + 0x1a0], xmm1
movaps xmmword [rsp + 0x1b0], xmm2
movaps xmmword [rsp + 0x1c0], xmm3
xor r12d, r12d
mov rsi, qword [rsp + 0x60]
cmp rsi, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0x68]
cmovbe r12, rcx
mov edi, 6
cmovbe rdi, rsi
jbe 0x14002fb11
mov r14b, 6
mov r12, qword [rsp + 0x80]
jmp 0x1400302fe
mov rax, qword [rsp + 0xa8]
lea r8, [rax*4]
mov rax, rsi
or rax, r8
shr rax, 0x20
je 0x14002fb37
mov rax, rsi
xor edx, edx
div r8
jmp 0x14002fb3e
mov eax, esi
xor edx, edx
div r8d
sub rsi, rdx
cmp rsi, r8
mov qword [rsp + 0x58], r8
jb 0x14002fca5
xor edx, edx
mov rcx, r8
shl rcx, 0xa
mov qword [rsp + 0x70], rcx
lea rbx, [rsp + 0x190]
lea rax, [rsp + 0xa40]
lea rcx, [rsp + 0x640]
mov r13, qword [rsp + 0x68]
lea rcx, str.attempt_to_divide_by_zeroInvalidBufferSizeargon2dargon2iargon2idC:Usersmqnu7.cargo_registry_src_rsproxy.cn_0dccff568467c15b_argon2_0.5.2_src_blake2b_long.rs
mov ecx, 0x40
mov rdx, r14
lea r8, str.C:Usersmqnu7.cargo_registry_src_rsproxy.cn_0dccff568467c15b_argon2_0.5.2_srcparams.rs