Function at 0x1401ed850
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x68
lea rbp, [rsp + 0x60]
mov qword [rbp], 0xfffffffffffffffe
mov rsi, rcx
add rcx, 0x40
xorps xmm0, xmm0
movaps xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], 0
mov qword [rbp - 0x28], rcx
call fcn.1401249f0
mov r14, qword [rsi]
mov r15, qword [r14]
cmp r15, r14
je 0x1401ed94f
lea rdi, [rbp - 0x38]
lea rbx, [rbp - 0x20]
jmp 0x1401ed8bc
mov rax, r15
nop dword [rax + rax]
mov r15, rax
cmp rax, r14
je 0x1401ed94f
movups xmm0, xmmword [r15 + 0x20]
movaps xmmword [rbp - 0x40], xmm0
mov rcx, qword [rbp - 0x38]
call fcn.1401eff00
test al, al
jne 0x1401ed900
mov rdx, qword [rbp - 0x18]
cmp rdx, qword [rbp - 0x10]
je 0x1401ed8ea
mov rax, qword [rbp - 0x38]
mov qword [rdx], rax
add qword [rbp - 0x18], 8
jmp 0x1401ed900
mov rcx, rbx
mov r8, rdi
call fcn.1401ee4e0
nop word cs:[rax + rax]
mov rcx, qword [r15 + 0x10]
movzx eax, byte [0x14051009c]
add al, 0xc5
cmp byte [rcx + 0x19], al
jne 0x1401ed930
nop word cs:[rax + rax]
mov rax, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x1401ed920
jmp 0x1401ed8b0
mov rax, qword [r15 + 8]
cmp byte [rax + 0x19], 0
jne 0x1401ed8b0
mov rcx, r15
mov r15, rax
cmp rcx, qword [rax + 0x10]
je 0x1401ed930
jmp 0x1401ed8a5
lea rax, [fcn.1401ed850]
lea ecx, [rax + rax]
add ecx, 0x3920
mov edx, ecx
not edx
mov r8d, 0x51f640d9
nop dword [rax]
mov rdi, qword [0x14050fec8]
movsxd r15, dword [rdi]
test edx, ecx
je 0x1401ed9af
nop
mov r9, qword [0x14050fec8]
mov r9d, dword [r9]
mov r9d, dword [0x140510098]
add r9d, r8d
lea r10d, [rax + rax]
add r10d, 0x1760
mov r11d, r10d
not r11d
and r11d, r10d
cmp r11d, r9d
jne 0x1401ed980
jmp 0x1401ed970
mov r12d, dword [0x14042f0dc]
mov rcx, qword [rbp - 0x28]
call fcn.140124b40
add r15, rdi
mov r14, qword [rbp - 0x20]
mov edi, dword [0x14050fec0]
lea ebx, [rdi + 0x51fcd6b5]
mov eax, dword [0x14055c438]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1401eda10
jmp 0x1401ed9e5
mov eax, 0x51f640da
add eax, dword [0x140510098]
lea rcx, [fcn.1401ed850]
add ecx, ecx
add ecx, 0xf80
test ecx, eax
je 0x1401eda3d
nop word cs:[rax + rax]
mov ecx, dword [0x14055c438]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, dword [0x140510098]
mov edx, ecx
xor edx, 0x51f640db
and ecx, 0x51f640db
lea ecx, [rdx + rcx*2]
xor edx, edx
div ecx
test edx, edx
jne 0x1401eda10
jmp 0x1401ed9e5
inc ebx
add ebx, 0xae03294b
mov dword [0x14050fec0], ebx
test edi, ebx
je 0x1401eda54
xor r13d, r13d
jmp 0x1401eda6c
mov ecx, 0x51f640d9
add ecx, dword [0x140510098]
xor eax, eax
mov r13d, 0
cmp ecx, r12d
jl 0x1401edad1
mov r15, qword [rbp - 0x18]
cmp r14, r15
je 0x1401edaa9
nop word cs:[rax + rax]
mov rcx, qword [rsi + 0xa8]
test rcx, rcx
je 0x1401edb60
mov rdx, qword [r14]
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x140303ece.0]
add r14, 8
cmp r14, r15
jne 0x1401eda80
mov rcx, qword [rbp - 0x20]
test rcx, rcx
je 0x1401edc35
mov rdx, qword [rbp - 0x10]
sub rdx, rcx
mov eax, dword [0x14055c43c]
cmp eax, 0x63
jl 0x1401edb65
jmp 0x1401edbb3
mov ecx, 0x51f640da
lea rdx, [fcn.1401ed850]
add edx, edx
add edx, 0x43c0
xor r13d, r13d
jmp 0x1401edb07
mov r8d, eax
xor r8d, 1
and eax, 1
lea eax, [r8 + rax*2]
cmp eax, r12d
jge 0x1401eda6c
movsxd r8, eax
movzx r8d, byte [r15 + r8]
mov r9d, dword [0x14055c438]
nop word cs:[rax + rax]
mov r9d, dword [0x14055c43c]
cmp r9d, 0xc
jg 0x1401edb20
xor r13b, r8b
cmp dword [0x140510098], 0xae09bf27
jne 0x1401edb51
mov r8d, dword [0x140510098]
add r8d, ecx
xor r8d, edx
not r8d
test r8d, edx
je 0x1401edaf0
mov r8d, dword [0x14055c43c]
cmp r8d, 0x63
jge 0x1401edb30
jmp 0x1401edb3c
call fcn.1403e69b4
mov eax, edi
and eax, ebx
movzx r8d, byte [0x14042f0e0]
xor r9d, r9d
cmp eax, 1
sbb r9d, r9d
sub r8b, r13b
and r8b, r9b
movzx eax, r8b
add rax, qword [0x14055bf30]
mov r8d, dword [0x14055c43c]
mov r9d, dword [0x140510098]
mov r10d, r9d
xor r10d, 0x51f64131
and r9d, 0x51f64131
lea r9d, [r10 + r9*2]
cmp r8d, r9d
jl 0x1401edbbc
movzx eax, byte [0x14042f0e0]
jmp 0x1401edb65
xor r8d, r8d
test r8b, r8b
jne 0x1401edbe0
mov qword [0x14055bf30], rax
mov r8d, dword [0x14055c438]
lea r9d, [r8 - 1]
imul r9d, r8d
test r9b, 1
je 0x1401edbe9
mov qword [0x14055bf30], rax
jmp 0x1401edbc4
cmp rdx, 0xfff
jbe 0x1401edc24
mov rax, qword [rcx - 8]
add rcx, qword [0x140510090]
sub rcx, rax
movabs r8, 0x10f9132544d8b4bd
add r8, rcx
cmp r8, 0x20
jae 0x1401edc47
mov rcx, qword [0x14055bf30]
add rdx, rcx
add rdx, 0x27
mov rcx, rax
mov r8d, 0xe09ad675
mov r9d, 0xe3ce41a6
call fcn.1400a7e90
nop
add rsp, 0x68
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call fcn.1403c4adc
int3