Function at 0x1400ef920
Capabilities:
Encode data using xor

Disassembly:
push rsi
push r14
sub rsp, 0xd8
mov rax, qword [0x140419c00]
xor rax, rsp
mov qword [rsp + 0x90], rax
mov rsi, rcx
mov qword [rsp + 0x40], r8
mov rcx, qword [rsp + 0x118]
mov eax, r9d
mov dword [rsp + 0x30], eax
mov r14d, edx
mov qword [rsp + 0x38], rcx
test rcx, rcx
jne 0x1400ef974
cmp dword [rsp + 0x120], ecx
jbe 0x1400ef974
mov eax, 0xffffff7c
jmp 0x1400efb87
mov ecx, eax
mov qword [rsp + 0xc0], rdi
call fcn.1400d6e10
movsxd rdi, eax
test eax, eax
js 0x1400efc98
lea ecx, [rdi*2 + 2]
cmp r14d, ecx
jb 0x1400efc98
mov qword [rsp + 0xd0], rbx
mov rcx, r14
mov qword [rsp + 0xc8], rbp
call fcn.1400c6880
mov rbx, rax
test rax, rax
jne 0x1400ef9c6
lea eax, [rbx - 0x7d]
jmp 0x1400efb6f
mov qword [rsp + 0xb8], r12
mov r8, r14
xor edx, edx
mov qword [rsp + 0xb0], r13
mov rcx, rbx
call sub.VCRUNTIME140.dll_memset
mov r13, qword [rsp + 0x128]
lea eax, [rdi + 1]
mov ecx, dword [rsp + 0x110]
mov r12d, r14d
movsxd rdx, eax
sub r12d, edi
dec r12d
mov qword [rsp + 0x28], r13
mov r8d, r12d
mov dword [rsp + 0x20], edi
add rdx, rsi
mov r9, rbx
call fcn.1400ee940
mov ebp, eax
test eax, eax
je 0x1400efa2d
mov rcx, rbx
call fcn.1400c6860
mov eax, ebp
jmp 0x1400efb5f
xor ebp, ebp
mov qword [rsp + 0xa8], r15
mov r9d, ebp
test edi, edi
je 0x1400efb25
cmp edi, 0x40
jb 0x1400efafc
lea edx, [rdi - 1]
mov eax, edi
add rdx, rbx
lea rcx, [rsi + 1]
add rax, rsi
cmp rbx, rax
ja 0x1400efa68
cmp rdx, rcx
jae 0x1400efafc
mov eax, edi
mov r10d, edi
and eax, 0x3f
sub r10d, eax
mov r8d, 0x11
nop dword [rax]
mov edx, r9d
lea eax, [r8 - 0x10]
movdqu xmm1, xmmword [rax + rsi]
mov eax, r8d
lea ecx, [r8 - 1]
add r9d, 0x40
movdqu xmm0, xmmword [rdx + rbx]
pxor xmm1, xmm0
movdqu xmmword [rdx + rbx], xmm1
lea edx, [r8 + 0xf]
movdqu xmm0, xmmword [rcx + rbx]
movdqu xmm1, xmmword [rax + rsi]
lea eax, [r8 + 0x10]
pxor xmm1, xmm0
movdqu xmmword [rcx + rbx], xmm1
movdqu xmm0, xmmword [rdx + rbx]
movdqu xmm1, xmmword [rax + rsi]
lea eax, [r8 + 0x20]
pxor xmm1, xmm0
movdqu xmmword [rdx + rbx], xmm1
lea edx, [r8 + 0x1f]
add r8d, 0x40
movdqu xmm0, xmmword [rdx + rbx]
movdqu xmm1, xmmword [rax + rsi]
pxor xmm1, xmm0
movdqu xmmword [rdx + rbx], xmm1
cmp r9d, r10d
jb 0x1400efa80
cmp r9d, edi
jae 0x1400efb25
mov edx, r9d
lea r8d, [r9 + 1]
add rdx, rbx
add r8, rsi
mov eax, edi
sub eax, r9d
mov r9d, eax
movzx eax, byte [r8]
lea r8, [r8 + 1]
xor byte [rdx], al
lea rdx, [rdx + 1]
sub r9, 1
jne 0x1400efb11
mov ecx, dword [rsp + 0x110]
lea r9, [rdi + rbx]
mov qword [rsp + 0x28], r13
mov r8d, edi
mov rdx, rbx
mov dword [rsp + 0x20], r12d
call fcn.1400ee940
mov r13d, eax
test eax, eax
je 0x1400efba2
mov rcx, rbx
call fcn.1400c6860
mov eax, r13d
mov r15, qword [rsp + 0xa8]
mov r12, qword [rsp + 0xb8]
mov r13, qword [rsp + 0xb0]
mov rbp, qword [rsp + 0xc8]
mov rbx, qword [rsp + 0xd0]
mov rdi, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.1400f4390
add rsp, 0xd8
pop r14
pop rsi
ret
test r12d, r12d
je 0x1400efbc7
mov ecx, edi
mov r9d, r12d
nop dword [rax]
lea r8d, [rcx + 1]
mov eax, ecx
movzx ecx, byte [rax + rbx]
xor byte [r8 + rsi], cl
mov ecx, r8d
sub r9, 1
jne 0x1400efbb0
mov rcx, rbx
call fcn.1400c6860
lea ebx, [rdi*2 + 1]
cmp ebx, r14d
jae 0x1400efbf0
mov r9d, ebx
add r9, rsi
cmp byte [r9], bpl
jne 0x1400efbf0
inc ebx
inc r9
cmp ebx, r14d
jb 0x1400efbe1
mov r8d, dword [rsp + 0x120]
lea r9, [rsp + 0x50]
mov rdx, qword [rsp + 0x38]
mov ecx, dword [rsp + 0x30]
mov dword [rsp + 0x20], edi
call fcn.1400d6990
test eax, eax
jne 0x1400efb57
test edi, edi
jle 0x1400efc4d
lea rdx, [rsp + 0x50]
mov r8, rdi
sub r8, rdx
mov rax, rbp
add r8, rsi
nop dword [rax]
lea rcx, [rsp + 0x50]
add rcx, rax
inc rax
movzx edx, byte [rcx + r8 + 1]
movzx ecx, byte [rcx]
xor edx, ecx
or ebp, edx
cmp rax, rdi
jl 0x1400efc30
movzx ecx, byte [rsi]
movzx edx, byte [rbx + rsi]
xor edx, 1
add edx, ebp
add edx, ecx
lea eax, [rdx - 1]
not edx
shr eax, 0x1f
neg al
shr edx, 0x1f
movsx ecx, al
neg dl
movsx eax, dl
and ecx, eax
lea eax, [rbx + 1]
and eax, ecx
mov edx, ecx
not edx
and edx, r14d
or edx, eax
mov rax, qword [rsp + 0x40]
mov ecx, edx
add rcx, rsi
sub r14d, edx
mov qword [rax], rcx
mov eax, r14d
jmp 0x1400efb57
mov eax, 0xffffff53
jmp 0x1400efb7f