Function at 0x14000ea60
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push rsi
push rdi
sub rsp, 0x78
mov rax, qword [0x14005a040]
xor rax, rsp
mov qword [rsp + 0x48], rax
xorps xmm0, xmm0
mov rax, qword [rsp + 0xc8]
mov rbx, r9
mov rbp, r8
mov rsi, rdx
mov rdi, rcx
movups xmmword [rsp + 0x38], xmm0
cmp qword [rsp + 0xc0], r8
jae 0x14000eaa8
mov eax, 0xffffffea
jmp 0x14000ef01
mov qword [rax], rbp
test rbp, rbp
jne 0x14000eab7
xor eax, eax
jmp 0x14000ef01
cmp rbx, rsi
jbe 0x14000eacb
mov rax, rbx
sub rax, rsi
cmp rax, rbp
jb 0x14000ef79
mov rax, qword [rcx + 0x160]
lea rcx, [rax + r8]
cmp rcx, rax
jb 0x14000ef79
movabs rdx, 0xfffffffe0
cmp rcx, rdx
ja 0x14000ef79
mov qword [rsp + 0x58], r15
test rax, rax
jne 0x14000eb17
test byte [rdi + 0x168], 0xf
je 0x14000eb17
lea rdx, [rdi + 0x190]
mov rcx, rdi
mov r8, rdx
call fcn.14000e340
mov rax, qword [rdi + 0x160]
mov r15, rax
mov qword [rsp + 0x60], r14
and r15d, 0xf
je 0x14000ec0f
lea rax, [rsp + 0x30]
mov qword [rsp + 0x30], 0
mov r14d, 0x10
mov qword [rsp + 0x20], rax
sub r14, r15
lea rdx, [rdi + 0x180]
cmp r14, rbp
lea r9, [rsp + 0x38]
mov r8d, 0x10
mov rcx, rdi
cmova r14, rbp
call fcn.14000f1a0
mov edx, eax
test eax, eax
je 0x14000eb88
xor eax, eax
lea rdi, [rsp + 0x38]
mov ecx, 0x10
rep stosb byte [rdi], al
mov eax, edx
jmp 0x14000eef7
cmp dword [rdi + 0x1a0], 0
jne 0x14000eba9
lea rcx, [rdi + 0x190]
mov r9, r14
add rcx, r15
mov r8, rsi
mov rdx, rcx
call fcn.14000deb0
lea rdx, [rsp + 0x38]
mov r9, r14
add rdx, r15
mov r8, rsi
mov rcx, rbx
call fcn.14000deb0
cmp dword [rdi + 0x1a0], 1
jne 0x14000ebe0
lea rcx, [rdi + 0x190]
mov r9, r14
add rcx, r15
mov r8, rbx
mov rdx, rcx
call fcn.14000deb0
lea rax, [r14 + r15]
cmp rax, 0x10
jne 0x14000ebfc
lea rdx, [rdi + 0x190]
mov rcx, rdi
mov r8, rdx
call fcn.14000e340
mov rax, qword [rdi + 0x160]
sub rbp, r14
add rsi, r14
add rbx, r14
add rax, r14
add rax, rbp
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x68], r13
mov r15, 0xfffffffffffffe81
mov qword [rdi + 0x160], rax
cmp rbp, 0x10
jb 0x14000ee85
mov r14, r15
sub r14, rdi
nop word [rax + rax]
lea rax, [rdi + 0x18f]
add byte [rax], 1
jne 0x14000ec59
dec rax
lea rcx, [rax + r14]
cmp rcx, 0xc
ja 0x14000ec47
lea rax, [rsp + 0x30]
mov qword [rsp + 0x30], 0
lea r9, [rsp + 0x38]
mov qword [rsp + 0x20], rax
mov r8d, 0x10
lea rdx, [rdi + 0x180]
mov rcx, rdi
call fcn.14000f1a0
mov edx, eax
test eax, eax
jne 0x14000eedd
cmp dword [rdi + 0x1a0], eax
jne 0x14000ed3b
movzx eax, byte [rsi]
xor byte [rdi + 0x190], al
movzx eax, byte [rsi + 1]
xor byte [rdi + 0x191], al
movzx eax, byte [rsi + 2]
xor byte [rdi + 0x192], al
movzx eax, byte [rsi + 3]
xor byte [rdi + 0x193], al
movzx eax, byte [rsi + 4]
xor byte [rdi + 0x194], al
movzx eax, byte [rsi + 5]
xor byte [rdi + 0x195], al
movzx eax, byte [rsi + 6]
xor byte [rdi + 0x196], al
movzx eax, byte [rsi + 7]
xor byte [rdi + 0x197], al
movzx eax, byte [rsi + 8]
xor byte [rdi + 0x198], al
movzx eax, byte [rsi + 9]
xor byte [rdi + 0x199], al
movzx eax, byte [rsi + 0xa]
xor byte [rdi + 0x19a], al
movzx eax, byte [rsi + 0xb]
xor byte [rdi + 0x19b], al
movzx eax, byte [rsi + 0xc]
xor byte [rdi + 0x19c], al
movzx eax, byte [rsi + 0xd]
xor byte [rdi + 0x19d], al
movzx eax, byte [rsi + 0xe]
xor byte [rdi + 0x19e], al
movzx eax, byte [rsi + 0xf]
xor byte [rdi + 0x19f], al
xor edx, edx
lea rax, [rsi + 0xf]
cmp rbx, rax
ja 0x14000ed4f
lea rax, [rbx + 0xf]
cmp rax, rsi
jae 0x14000ed67
lea rax, [rsp + 0x47]
cmp rbx, rax
ja 0x14000eda0
lea rax, [rbx + 0xf]
lea rcx, [rsp + 0x38]
cmp rax, rcx
jb 0x14000eda0
lea rax, [rsp + 0x3a]
mov r8, rsi
sub r8, rax
mov r9, rbx
lea rax, [rsp + 0x39]
sub r9, rax
nop dword [rax]
lea rcx, [rsp + 0x38]
add rcx, rdx
inc rdx
movzx eax, byte [rcx + r8 + 2]
xor al, byte [rcx]
mov byte [rcx + r9 + 1], al
cmp rdx, 0x10
jb 0x14000ed80
jmp 0x14000edb1
movdqu xmm0, xmmword [rsi]
movdqu xmm1, xmmword [rsp + 0x38]
xorps xmm1, xmm0
movdqu xmmword [rbx], xmm1
cmp dword [rdi + 0x1a0], 1
jne 0x14000ee5d
movzx eax, byte [rbx]
xor byte [rdi + 0x190], al
movzx eax, byte [rbx + 1]
xor byte [rdi + 0x191], al
movzx eax, byte [rbx + 2]
xor byte [rdi + 0x192], al
movzx eax, byte [rbx + 3]
xor byte [rdi + 0x193], al
movzx eax, byte [rbx + 4]
xor byte [rdi + 0x194], al
movzx eax, byte [rbx + 5]
xor byte [rdi + 0x195], al
movzx eax, byte [rbx + 6]
xor byte [rdi + 0x196], al
movzx eax, byte [rbx + 7]
xor byte [rdi + 0x197], al
movzx eax, byte [rbx + 8]
xor byte [rdi + 0x198], al
movzx eax, byte [rbx + 9]
xor byte [rdi + 0x199], al
movzx eax, byte [rbx + 0xa]
xor byte [rdi + 0x19a], al
movzx eax, byte [rbx + 0xb]
xor byte [rdi + 0x19b], al
movzx eax, byte [rbx + 0xc]
xor byte [rdi + 0x19c], al
movzx eax, byte [rbx + 0xd]
xor byte [rdi + 0x19d], al
movzx eax, byte [rbx + 0xe]
xor byte [rdi + 0x19e], al
movzx eax, byte [rbx + 0xf]
xor byte [rdi + 0x19f], al
lea rdx, [rdi + 0x190]
mov rcx, rdi
mov r8, rdx
call fcn.14000e340
sub rbp, 0x10
add rsi, 0x10
add rbx, 0x10
cmp rbp, 0x10
jae 0x14000ec40
test rbp, rbp
je 0x14000ef66
sub r15, rdi
lea rcx, [rdi + 0x18f]
add byte [rcx], 1
jne 0x14000eeaa
dec rcx
lea rax, [r15 + rcx]
cmp rax, 0xc
ja 0x14000ee98
lea rax, [rsp + 0x30]
mov qword [rsp + 0x30], 0
lea rdx, [rdi + 0x180]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x38]
mov r8d, 0x10
mov rcx, rdi
call fcn.14000f1a0
mov edx, eax
test eax, eax
je 0x14000ef17
xor eax, eax
lea rdi, [rsp + 0x38]
mov ecx, 0x10
rep stosb byte [rdi], al
mov eax, edx
mov r13, qword [rsp + 0x68]
mov r12, qword [rsp + 0x70]
mov r14, qword [rsp + 0x60]
mov r15, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.14001c440
add rsp, 0x78
pop rdi
pop rsi
pop rbp
pop rbx
ret
cmp dword [rdi + 0x1a0], 0
jne 0x14000ef35
lea rcx, [rdi + 0x190]
mov r9, rbp
mov rdx, rcx
mov r8, rsi
call fcn.14000deb0
mov r9, rbp
lea rdx, [rsp + 0x38]
mov r8, rsi
mov rcx, rbx
call fcn.14000deb0
cmp dword [rdi + 0x1a0], 1
jne 0x14000ef66
lea rcx, [rdi + 0x190]
mov r9, rbp
mov rdx, rcx
mov r8, rbx
call fcn.14000deb0
lea rdi, [rsp + 0x38]
xor eax, eax
mov ecx, 0x10
rep stosb byte [rdi], al
jmp 0x14000eeed
mov eax, 0xffffffec
jmp 0x14000ef01