Function at 0x140009d60
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r14
push rsi
push rdi
push rbx
sub rsp, 0xc0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x38], 0xfffffffffffffffe
mov rdi, r8
mov rbx, rdx
mov rsi, rcx
mov rax, qword [rbp + 0x90]
test rax, rax
je 0x140009dd5
cmp rax, 1
jne 0x140009e0b
test rdi, rdi
je 0x140009e3e
js 0x140009fdc
movzx r14d, byte [r9]
movzx eax, byte [0x1401e1329]
mov edx, 1
mov rcx, rdi
call fcn.14000a780
test rax, rax
je 0x140009dfc
cmp rdi, 8
jae 0x140009e65
xor ecx, ecx
jmp 0x140009f00
test rdi, rdi
je 0x140009e48
js 0x140009fdc
movzx eax, byte [0x1401e1329]
mov edx, 1
mov rcx, rdi
call fcn.14000a780
mov r14, rax
test rax, rax
jne 0x140009e4e
mov ecx, 1
mov rdx, rdi
call fcn.14011cc30
ud2
add rdi, rbx
mov qword [rbp - 0x30], rbx
mov qword [rbp - 0x28], rdi
mov qword [rbp - 0x20], r9
mov qword [rbp - 0x18], rax
pxor xmm0, xmm0
movdqu xmmword [rbp - 0x10], xmm0
movdqu xmmword [rbp], xmm0
lea rcx, [rbp + 0x20]
lea rdx, [rbp - 0x30]
call fcn.1400079f0
jmp 0x140009f1e
mov eax, 1
jmp 0x140009f12
mov r14d, 1
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
mov qword [rbp + 0x20], r14
jmp 0x140009f16
movzx edx, r14b
cmp rdi, 0x20
jae 0x140009e73
xor ecx, ecx
jmp 0x140009ec6
mov rcx, rdi
and rcx, 0xffffffffffffffe0
movd xmm0, edx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
xor r8d, r8d
nop
movdqu xmm1, xmmword [rbx + r8]
movdqu xmm2, xmmword [rbx + r8 + 0x10]
pxor xmm1, xmm0
pxor xmm2, xmm0
movdqu xmmword [rax + r8], xmm1
movdqu xmmword [rax + r8 + 0x10], xmm2
add r8, 0x20
cmp rcx, r8
jne 0x140009e90
cmp rcx, rdi
je 0x140009f12
test dil, 0x18
je 0x140009f00
mov r8, rcx
mov rcx, rdi
and rcx, 0xfffffffffffffff8
movd xmm0, edx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
nop dword [rax]
movq xmm1, qword [rbx + r8]
pxor xmm1, xmm0
movq qword [rax + r8], xmm1
add r8, 8
cmp rcx, r8
jne 0x140009ee0
cmp rcx, rdi
je 0x140009f12
nop
movzx edx, byte [rbx + rcx]
xor dl, r14b
mov byte [rax + rcx], dl
inc rcx
cmp rdi, rcx
jne 0x140009f00
mov qword [rbp + 0x20], rax
mov qword [rbp + 0x28], rdi
mov qword [rbp + 0x30], rdi
mov rdx, qword [rbp + 0x20]
mov r8, qword [rbp + 0x30]
lea rcx, [rbp - 0x30]
call fcn.140108cc0
cmp qword [rbp - 0x30], 0
je 0x140009fac
mov rax, qword [rbp - 0x28]
movzx ecx, byte [rbp - 0x20]
mov edx, dword [rbp - 0x1f]
mov dword [rbp + 0x18], edx
mov edx, dword [rbp - 0x1c]
mov dword [rbp + 0x1b], edx
movups xmm0, xmmword [rbp + 0x20]
movaps xmmword [rbp - 0x50], xmm0
mov rdx, qword [rbp + 0x30]
mov qword [rbp - 0x40], rdx
cmp cl, 2
je 0x140009fbc
mov rdx, qword [rbp + 0x30]
mov qword [rbp - 0x20], rdx
movups xmm0, xmmword [rbp + 0x20]
movaps xmmword [rbp - 0x30], xmm0
mov qword [rbp - 0x18], rax
mov byte [rbp - 0x10], cl
mov eax, dword [rbp + 0x18]
mov ecx, dword [rbp + 0x1b]
mov dword [rbp - 0xf], eax
mov dword [rbp - 0xc], ecx
lea rax, str.srcmain.rs
mov qword [rsp + 0x20], rax
lea rcx, [0x1401207e0]
lea r9, fcn.140001bc0
lea r8, [rbp - 0x30]
mov edx, 0x2b
call fcn.14011d190
ud2
mov rax, qword [rbp + 0x30]
mov qword [rbp - 0x40], rax
movups xmm0, xmmword [rbp + 0x20]
movaps xmmword [rbp - 0x50], xmm0
mov rax, qword [rbp - 0x40]
mov qword [rsi + 0x10], rax
movaps xmm0, xmmword [rbp - 0x50]
movups xmmword [rsi], xmm0
mov rax, rsi
add rsp, 0xc0
pop rbx
pop rdi
pop rsi
pop r14
pop rbp
ret
call fcn.1400fe590
ud2