Function at 0x14007e120
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x48
lea rbp, [rsp + 0x40]
mov qword [rbp], 0xfffffffffffffffe
mov rsi, rcx
mov r15d, dword [0x14055ba60]
add rcx, 0x28
mov eax, dword [0x1404ed47c]
sub eax, r15d
add eax, 0x4bcd
cdqe
add rax, qword [0x1404ed490]
mov edx, 0x3bd3a3be
mov r8d, 0xaf66e2ca
call qword [case.0x140303ece.0]
test al, al
jne 0x14007e1a1
lea rcx, [rsi + 0x48]
mov eax, dword [0x1404ed478]
or eax, r15d
add eax, 0x4bcd
cdqe
add rax, qword [0x1404ed4c0]
mov edx, 0x3fd703fa
call qword [case.0x140303ece.0]
test al, al
je 0x14007e5d5
mov eax, dword [rsi + 0x87c]
and eax, 0x10
mov ecx, 0x4f81c444
add ecx, dword [0x1404edc00]
cmp eax, ecx
je 0x14007e1df
mov eax, dword [0x1404ed470]
add eax, r15d
sub eax, dword [0x1404edc00]
add eax, 0xb07e8789
cdqe
add rax, qword [0x1404ed498]
mov rcx, rsi
call qword [case.0x140303ece.0]
cmp qword [0x14055be50], 0
mov qword [rbp - 0x10], r15
jne 0x14007e235
mov eax, dword [0x1404ed474]
add eax, r15d
add eax, 0x4bcd
cdqe
add rax, qword [0x1404ed4b8]
mov ecx, 0x700
mov edx, 0x7fd9f583
mov r8d, 0xa73fa0bd
call qword [case.0x140303ece.0]
mov qword [rbp - 8], rax
mov rcx, rax
call fcn.140092fc0
mov rax, qword [rbp - 8]
mov qword [0x14055be50], rax
mov r15, qword [rbp - 0x10]
mov rdi, qword [0x14055be50]
mov rsi, qword [rdi + 0x3b0]
test rsi, rsi
je 0x14007e28e
mov eax, dword [0x1404ed480]
sub eax, r15d
add eax, 0x4bcd
cdqe
add rax, qword [0x1404ed4b0]
mov rcx, rsi
call qword [case.0x140303ece.0]
mov eax, dword [0x1404ed484]
or eax, r15d
sub eax, dword [0x1404edc00]
add eax, 0xb07e8789
cdqe
add rax, qword [0x1404ed4a0]
mov rcx, rsi
call qword [case.0x140303ece.0]
mov qword [rdi + 0x3b0], 0
mov rcx, qword [0x14055c0f0]
test rcx, rcx
je 0x14007e2c1
mov rax, qword [rcx]
mov rax, qword [rax]
mov edx, 1
call qword [case.0x140303ece.0]
mov qword [0x14055c0f0], 0
mov rax, qword [0x14055bd68]
test rax, rax
je 0x14007e36e
mov rdi, qword [rax + 0x20]
mov rbx, qword [rdi]
cmp rbx, rdi
je 0x14007e36e
mov esi, 1
jmp 0x14007e2fa
inc esi
mov rbx, rax
cmp rax, rdi
je 0x14007e36e
mov dword [rbx + 0x30], 0
mov dword [rbx + 0x28], 0
mov r8, qword [rbx + 0x58]
test r8, r8
je 0x14007e31c
mov rcx, qword [rbx + 0x50]
mov edx, esi
call fcn.14040d340
mov r8, qword [rbx + 0x98]
test r8, r8
je 0x14007e336
mov rcx, qword [rbx + 0x90]
mov edx, esi
call fcn.14040d340
mov rcx, qword [rbx + 0x10]
cmp byte [rcx + 0x19], 0
je 0x14007e360
mov rax, qword [rbx + 8]
cmp byte [rax + 0x19], 0
jne 0x14007e2f0
mov rcx, rbx
mov rbx, rax
cmp rcx, qword [rax + 0x10]
je 0x14007e340
mov rax, rbx
jmp 0x14007e2f0
mov rax, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x14007e360
jmp 0x14007e2f0
movaps xmm0, xmmword [0x140427670]
movups xmmword [0x14054f3ff], xmm0
movups xmmword [0x14054f3ef], xmm0
movups xmmword [0x14054f3df], xmm0
movups xmmword [0x14054f3cf], xmm0
mov byte [0x14055bfe0], 1
cmp qword [0x14055be50], 0
jne 0x14007e3ea
mov eax, dword [0x1404ed474]
or eax, r15d
add eax, 0x4bcd
cdqe
add rax, qword [0x1404ed4b8]
mov ecx, 0x700
mov edx, 0x7fd9f583
mov r8d, 0xa73fa0bd
call qword [case.0x140303ece.0]
mov qword [rbp - 8], rax
mov rcx, rax
call fcn.140092fc0
mov rax, qword [rbp - 8]
mov qword [0x14055be50], rax
mov r15, qword [rbp - 0x10]
mov rax, qword [0x14055be50]
mov r8, qword [rax + 0x560]
test r8, r8
je 0x14007e45d
mov rcx, qword [rax + 0x558]
mov dl, 1
call fcn.14040d340
cmp qword [0x14055be50], 0
jne 0x14007e45d
mov eax, dword [0x1404ed474]
or eax, r15d
add eax, 0x4bcd
cdqe
add rax, qword [0x1404ed4b8]
mov ecx, 0x700
mov edx, 0x7fd9f583
mov r8d, 0xa73fa0bd
call qword [case.0x140303ece.0]
mov qword [rbp - 8], rax
mov rcx, rax
call fcn.140092fc0
mov rax, qword [rbp - 8]
mov qword [0x14055be50], rax
mov r15, qword [rbp - 0x10]
mov rsi, qword [0x14055be50]
mov r8, qword [rsi + 0x370]
mov rax, qword [rsi + 0x378]
sub rax, r8
shr rax, 5
imul eax, eax, 0xcccccccd
mov ecx, 0x4f81c444
add ecx, dword [0x1404edc00]
cmp eax, ecx
jle 0x14007e556
mov edi, 0x80
mov ebx, 1
movabs r14, 0x60c020948643fff
cmp dword [r8 + rdi + 8], 0
jne 0x14007e4b8
nop
cmp qword [r8 + rdi + 8], 0
je 0x14007e4f7
mov edx, dword [r8 + rdi - 0x5c]
mov eax, dword [0x1404ed488]
add eax, r15d
add eax, 0x4bcd
cdqe
add rax, qword [0x1404ed4a8]
add r8, rdi
mov ecx, dword [0x1404edc00]
lea r9d, [rcx - 0x15a47c71]
add ecx, 0x6d7a981
mov dword [rsp + 0x20], ecx
mov rcx, rsi
call qword [case.0x140303ece.0]
mov r8, qword [rsi + 0x370]
mov rax, qword [rsi + 0x378]
sub rax, r8
mov rcx, qword [0x1404edc08]
add rcx, r14
mov rdx, rax
or rdx, rcx
shr rdx, 0x20
je 0x14007e530
cqo
idiv rcx
jmp 0x14007e534
xor edx, edx
div ecx
cdqe
cmp rbx, rax
jge 0x14007e556
add rdi, 0xa0
inc rbx
cmp dword [r8 + rdi + 8], 0
je 0x14007e4b0
jmp 0x14007e4b8
mov rax, qword [rsi + 0x398]
sub rax, qword [rsi + 0x390]
shr rax, 2
mov dil, 1
test eax, eax
jle 0x14007e5d7
xor ebx, ebx
nop word cs:[rax + rax]
mov eax, r15d
xor eax, r15d
not eax
and eax, dword [0x1404ed488]
xor eax, r15d
add eax, 0x4bcd
cdqe
add rax, qword [0x1404ed4a8]
mov dword [rsp + 0x20], 0xb755e53d
mov rcx, rsi
mov edx, ebx
xor r8d, r8d
mov r9d, 0x9ad9bf4b
call qword [case.0x140303ece.0]
inc ebx
mov rax, qword [rsi + 0x398]
sub rax, qword [rsi + 0x390]
shr rax, 2
cmp ebx, eax
jl 0x14007e580
jmp 0x14007e5d7
xor edi, edi
mov eax, edi
add rsp, 0x48
pop rbx
pop rdi
pop rsi
pop r14
pop r15
pop rbp
ret