Function at 0x1400ec830
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x88
mov rdi, rcx
mov r12, qword [rdx]
mov rbx, qword [rdx + 8]
mov rax, qword [rdx + 0x10]
mov rcx, qword [rdx + 0x18]
mov qword [rsp + 0x38], rcx
cmp rbx, rcx
mov qword [rsp + 0x30], rax
je 0x1400eca27
mov qword [rsp + 0x28], r12
mov r12, qword [rdx + 0x20]
lea rsi, [rsp + 0x68]
nop word cs:[rax + rax]
mov eax, dword [0x141dddd58]
or eax, dword [0x141dddd5c]
imul eax, eax, 0xc006cbf6
xor eax, 0x8017460
and eax, 0x8815f464
cmp eax, 0xc0b0f11
je 0x1400ec880
nop word cs:[rax + rax]
mov eax, dword [0x141dddd60]
mov ecx, dword [0x141dddd64]
add eax, ecx
add eax, 0xb83e6f0b
xor eax, 0x10042a00
and eax, 0x120fab18
cmp eax, 0xef02e4bd
ja 0x1400ec8b0
lea r14, [rsp + 0x60]
lea r15, [rsp + 0x40]
mov r13, qword [rsp + 0x28]
nop word cs:[rax + rax]
mov eax, dword [0x141dddd68]
xor eax, dword [0x141dddd6c]
imul eax, eax, 0x3a4d6959
cmp eax, 0xa2543e5e
jne 0x1400ec930
movups xmm0, xmmword [rbx]
movups xmm1, xmmword [rbx + 0x10]
movaps xmmword [rsp + 0x50], xmm1
movaps xmmword [rsp + 0x40], xmm0
mov r8d, dword [r12]
mov rcx, r14
mov rdx, r15
call fcn.1400e7290
nop dword [rax]
mov ebp, dword [0x141dddd70]
and ebp, dword [0x141dddd74]
or ebp, 0xe085ef07
add ebp, 0x10f7591
and ebp, 0xb58535d8
movups xmm0, xmmword [rbx]
movups xmm1, xmmword [rbx + 0x10]
movaps xmmword [rsp + 0x40], xmm0
movaps xmmword [rsp + 0x50], xmm1
mov r8d, dword [r12]
mov rcx, r14
mov rdx, r15
call fcn.1400e7290
cmp ebp, 0x3b4a3fc2
je 0x1400ec930
add rbx, 0x20
cmp qword [rsp + 0x60], 0
jne 0x1400eca32
xor eax, eax
test al, al
je 0x1400ec9a0
movups xmm0, xmmword [rsi]
movups xmm1, xmmword [rsi + 0x10]
movups xmmword [r13 + 0x10], xmm1
movups xmmword [r13], xmm0
nop dword [rax]
mov eax, dword [0x141dddd78]
xor edx, edx
div dword [0x141dddd7c]
or eax, 0xc2d8c49d
imul eax, eax, 0xf14b01c0
movups xmm0, xmmword [rsi]
movups xmm1, xmmword [rsi + 0x10]
movups xmmword [r13 + 0x10], xmm1
movups xmmword [r13], xmm0
cmp eax, 0xbd107d64
ja 0x1400ec9a0
add r13, 0x20
cmp rbx, qword [rsp + 0x38]
jne 0x1400ec8f0
mov eax, dword [0x141dddd80]
xor edx, edx
div dword [0x141dddd84]
mov r12, qword [rsp + 0x28]
sub r13, r12
mov r14, r13
shr r14, 5
nop dword [rax]
mov eax, dword [0x141dddd88]
and eax, dword [0x141dddd8c]
or eax, 0xecaf6235
add eax, 0xf1c12515
xor eax, 0x830aa1ce
cmp eax, 0x62aec7f2
ja 0x1400eca00
jmp 0x1400ecb44
mov sil, 0x12
mov r13, r12
jmp 0x1400ecab1
mov eax, dword [0x141dddd90]
xor eax, dword [0x141dddd94]
add eax, 0xe0435752
xor eax, 0x8e2accf
cmp eax, 0x5a88a02c
jae 0x1400eca63
movups xmm0, xmmword [rsp + 0x69]
movups xmm1, xmmword [rsp + 0x78]
movaps xmmword [rsp + 0x40], xmm0
movups xmmword [rsp + 0x4f], xmm1
mov eax, 0x820aa303
mov r12, qword [rsp + 0x28]
nop dword [rax]
mov ecx, dword [0x141dddd98]
or ecx, dword [0x141dddd9c]
and ecx, 0x1ff09e1f
add ecx, 0xf99bce66
imul rcx, rax
shr rcx, 0x3e
movzx esi, byte [rsp + 0x68]
movups xmm0, xmmword [rsp + 0x69]
movaps xmmword [rsp + 0x40], xmm0
movups xmm0, xmmword [rsp + 0x78]
movups xmmword [rsp + 0x4f], xmm0
cmp ecx, 0xf33300b5
ja 0x1400eca70
mov r14, r13
sub r14, r12
mov r15, qword [rsp + 0x38]
sub r15, rbx
shr r15, 5
nop word cs:[rax + rax]
mov eax, dword [0x141dddda0]
imul eax, dword [str.ai_r]
xor eax, 0x9991150f
imul eax, eax, 0xb923dbc3
cmp eax, 0x9a60d2ed
je 0x1400ecad0
cmp qword [rsp + 0x38], rbx
je 0x1400ecb11
nop word cs:[rax + rax]
mov rcx, rbx
call fcn.1400e6e10
add rbx, 0x20
dec r15
jne 0x1400ecb00
shr r14, 5
nop word cs:[rax + rax]
mov eax, dword [0x141dddda8]
imul eax, dword [0x141ddddac]
add eax, 0x9c88ba16
xor eax, 0xf831cf39
cmp eax, 0x21ae7103
jb 0x1400ecb20
cmp sil, 0x12
jne 0x1400ecb5d
mov rax, qword [rsp + 0x30]
mov qword [rdi + 8], rax
mov qword [rdi + 0x10], r12
mov qword [rdi + 0x18], r14
mov byte [rdi], 0x12
jmp 0x1400ecc64
mov eax, dword [0x141ddddb0]
and eax, dword [0x141ddddb4]
imul eax, eax, 0x61352ce8
cmp eax, 0x9e026204
je 0x1400ecb91
mov eax, dword [0x141ddddb8]
add eax, dword [0x141ddddbc]
and eax, 0x22000020
mov byte [rdi], sil
cmp eax, 0x3da99af7
jne 0x1400ecb96
mov byte [rdi], sil
jmp 0x1400ecb76
inc rdi
movups xmm0, xmmword [rsp + 0x4f]
movups xmmword [rdi + 0xf], xmm0
movaps xmm0, xmmword [rsp + 0x40]
movups xmmword [rdi], xmm0
cmp r13, r12
je 0x1400ecbe0
mov rdi, r12
nop word cs:[rax + rax]
mov rcx, rdi
call fcn.1400e6e10
add rdi, 0x20
dec r14
jne 0x1400ecbc0
nop word cs:[rax + rax]
mov eax, dword [0x141ddddc0]
xor eax, dword [0x141ddddc4]
add eax, 0xe7c24864
cmp eax, 0xebf7b370
ja 0x1400ecbe0
cmp qword [rsp + 0x30], 0
je 0x1400ecc64
mov rdi, qword [0x141dde6e0]
mov eax, dword [0x141ddddc8]
xor edx, edx
div dword [0x141ddddcc]
xor eax, 0xa81916bb
imul eax, eax, 0x4e4b0b55
cmp eax, 0x41fa9ad
jne 0x1400ecc35
mov rcx, rdi
xor edx, edx
mov r8, r12
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rsi, qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax]
mov eax, dword [0x141ddddd0]
xor eax, dword [0x141ddddd4]
imul ebx, eax, 0xf90d41ac
mov rcx, rdi
xor edx, edx
mov r8, r12
call rsi
cmp ebx, 0x2dd0ca69
je 0x1400ecc40
mov eax, 0xafa0206b
nop dword [rax]
mov ecx, dword [0x141ddddd8]
and ecx, dword [0x141dddddc]
imul rcx, rax
shr rcx, 0x3e
or ecx, 0x46b3b454
cmp ecx, 0x91bafd3c
ja 0x1400ecc70
add rsp, 0x88
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret