Function at 0x1401359b0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x2b8
movaps xmmword [rsp + 0x2a0], xmm6
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x28], rcx
mov rax, qword [rcx]
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x38], rax
test rax, rax
je 0x140135e25
mov r15, qword [rsp + 0x320]
test r15, r15
je 0x140135db2
mov rsi, r9
mov rax, qword [rsp + 0x28]
lea r14, [rax + 0x30]
lea r12, [rsp + 0xe8]
xor r13d, r13d
xorps xmm6, xmm6
lea rbx, [rsp + 0x90]
jmp 0x140135a3f
add rsi, rbp
inc r13
test r15, r15
je 0x140135db2
mov rbp, qword [rsp + 0x38]
cmp r15, rbp
cmovb rbp, r15
movups xmm0, xmmword [r14]
movups xmm1, xmmword [r14 + 0x10]
movups xmm2, xmmword [r14 + 0x20]
movups xmm3, xmmword [r14 + 0x30]
movaps xmmword [rsp + 0xc0], xmm3
movaps xmmword [rsp + 0xb0], xmm2
movaps xmmword [rsp + 0xa0], xmm1
movaps xmmword [rsp + 0x90], xmm0
movups xmmword [r12 + 0x70], xmm6
movups xmmword [r12 + 0x60], xmm6
movups xmmword [r12 + 0x50], xmm6
movups xmmword [r12 + 0x40], xmm6
movups xmmword [r12 + 0x30], xmm6
movups xmmword [r12 + 0x20], xmm6
movups xmmword [r12 + 0x10], xmm6
movups xmmword [r12], xmm6
mov qword [rsp + 0xd0], 0
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0xe0], 0
mov rcx, rbx
mov rdx, qword [rsp + 0x40]
mov r8, qword [rsp + 0x30]
call fcn.140136060
movabs rax, 0x100000000
cmp r13, rax
je 0x140135dce
mov eax, r13d
bswap eax
mov dword [rsp + 0x1c8], eax
mov r8d, 4
mov rcx, rbx
lea rdi, [rsp + 0x1c8]
mov rdx, rdi
call fcn.140136060
mov r8d, 0xd8
mov rcx, rdi
mov rdx, rbx
call sub.msvcrt.dll_memcpy
mov rax, qword [rsp + 0x210]
mov r9, qword [rax + 0x10]
movaps xmm0, xmmword [rsp + 0xd0]
movaps xmmword [rsp + 0x1b0], xmm0
movaps xmm0, xmmword [rsp + 0x90]
movaps xmm1, xmmword [rsp + 0xa0]
movaps xmm2, xmmword [rsp + 0xb0]
movaps xmm3, xmmword [rsp + 0xc0]
movaps xmmword [rsp + 0x1a0], xmm3
movaps xmmword [rsp + 0x190], xmm2
movaps xmmword [rsp + 0x180], xmm1
movaps xmmword [rsp + 0x170], xmm0
cmp r9, 0x81
jae 0x140135dfc
mov rax, qword [rsp + 0x218]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x48]
lea rdx, [rsp + 0x170]
lea r8, [rsp + 0x220]
call fcn.1401362f0
mov rax, qword [rsp + 0x48]
mov rcx, qword [rax]
cmp rcx, 0x41
jae 0x140135e12
sub r15, rbp
cmp rbp, rcx
cmovb rcx, rbp
test rcx, rcx
je 0x140135a30
test rsi, rsi
je 0x140135a30
cmp rcx, 8
jb 0x140135c10
lea rdx, [rsp + 0x50]
lea rax, [rdx + rcx]
cmp rsi, rax
jae 0x140135ca4
lea rax, [rsi + rcx]
cmp rdx, rax
jae 0x140135ca4
xor eax, eax
mov rbx, rax
not rbx
add rbx, rcx
mov rdi, rcx
and rdi, 3
je 0x140135c57
nop word cs:[rax + rax]
movzx edx, byte [rsp + rax + 0x50]
xor byte [rsi + rax], dl
lea rdx, [rax + 1]
mov rax, rdx
dec rdi
jne 0x140135c30
cmp rbx, 3
lea rbx, [rsp + 0x90]
jae 0x140135c70
jmp 0x140135a30
mov rdx, rax
cmp rbx, 3
lea rbx, [rsp + 0x90]
jb 0x140135a30
nop dword [rax]
movzx eax, byte [rsp + rdx + 0x50]
xor byte [rsi + rdx], al
movzx eax, byte [rsp + rdx + 0x51]
xor byte [rsi + rdx + 1], al
movzx eax, byte [rsp + rdx + 0x52]
xor byte [rsi + rdx + 2], al
movzx eax, byte [rsp + rdx + 0x53]
xor byte [rsi + rdx + 3], al
lea rax, [rdx + 4]
mov rdx, rax
cmp rcx, rax
jne 0x140135c70
jmp 0x140135a30
cmp rcx, 0x20
jae 0x140135cb1
xor eax, eax
jmp 0x140135d75
mov rax, rcx
and rax, 0xffffffffffffffe0
lea rdx, [rax - 0x20]
mov r8, rdx
shr r8, 5
inc r8
test rdx, rdx
je 0x140135da8
mov rdx, r8
and rdx, 0xfffffffffffffffe
xor ebx, ebx
nop dword [rax + rax]
movups xmm0, xmmword [rsp + rbx + 0x50]
movups xmm1, xmmword [rsp + rbx + 0x60]
movups xmm2, xmmword [rsi + rbx]
xorps xmm2, xmm0
movups xmm0, xmmword [rsi + rbx + 0x10]
xorps xmm0, xmm1
movups xmm1, xmmword [rsi + rbx + 0x20]
movups xmm3, xmmword [rsi + rbx + 0x30]
movups xmmword [rsi + rbx], xmm2
movups xmmword [rsi + rbx + 0x10], xmm0
movups xmm0, xmmword [rsp + rbx + 0x70]
xorps xmm0, xmm1
movups xmm1, xmmword [rsp + rbx + 0x80]
xorps xmm1, xmm3
movups xmmword [rsi + rbx + 0x20], xmm0
movups xmmword [rsi + rbx + 0x30], xmm1
add rbx, 0x40
add rdx, 0xfffffffffffffffe
jne 0x140135ce0
test r8b, 1
je 0x140135d5b
movups xmm0, xmmword [rsp + rbx + 0x50]
movups xmm1, xmmword [rsp + rbx + 0x60]
movups xmm2, xmmword [rsi + rbx]
xorps xmm2, xmm0
movups xmm0, xmmword [rsi + rbx + 0x10]
xorps xmm0, xmm1
movups xmmword [rsi + rbx], xmm2
movups xmmword [rsi + rbx + 0x10], xmm0
cmp rcx, rax
lea rbx, [rsp + 0x90]
je 0x140135a30
test cl, 0x18
je 0x140135c12
mov rdx, rax
mov rax, rcx
and rax, 0xfffffffffffffff8
nop
mov rbx, qword [rsp + rdx + 0x50]
xor qword [rsi + rdx], rbx
add rdx, 8
cmp rax, rdx
jne 0x140135d80
cmp rcx, rax
lea rbx, [rsp + 0x90]
je 0x140135a30
jmp 0x140135c12
xor ebx, ebx
test r8b, 1
jne 0x140135d39
jmp 0x140135d5b
movaps xmm6, xmmword [rsp + 0x2a0]
add rsp, 0x2b8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rax, str.C:UsersUser.cargo_registry_srcgithub.com_1ecc6299db9ec823_ring_0.17.8_src_rsapadding.rs
mov qword [rsp + 0x20], rax
lea rcx, str.called__Result::unwrap____on_an__Err__value
lea r9, [0x140289e10]
lea r8, [rsp + 0x1c8]
mov edx, 0x2b
call fcn.14002dda0
ud2
lea r8, str.C:UsersUser.cargo_registry_srcgithub.com_1ecc6299db9ec823_ring_0.17.8_srcdigest.rs
mov edx, pe_nt_image_headers64
mov rcx, r9
call fcn.14002c6f0
ud2
lea r8, str.C:UsersUser.cargo_registry_srcgithub.com_1ecc6299db9ec823_ring_0.17.8_src_rsapadding.rs
mov edx, 0x40
call fcn.14002c6f0
ud2
lea rax, [0x14028d878]
mov qword [rsp + 0x1c8], rax
mov qword [rsp + 0x1d0], 1
mov qword [rsp + 0x1d8], 0
lea rax, [0x1402be068]
mov qword [rsp + 0x1e8], rax
mov qword [rsp + 0x1f0], 0
lea rax, str._rustc_69f9c33d71c871fc16ac445211281c6e7a340943librarycore_src_slicemod.rs
mov qword [rsp + 0x20], rax
lea r8, [0x1402bedd0]
lea rdx, [rsp + 0x90]
lea r9, [rsp + 0x1c8]
mov cl, 1
call fcn.14012f210
ud2