Function at 0x1400e0c50
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x50]
sub rsp, 0x150
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
mov rax, qword [0x1401a4028]
xor rax, rsp
mov qword [rbp + 0x28], rax
mov r12, rdx
mov rsi, rcx
mov qword [rbp - 0x60], rdx
mov r14, qword [rdx]
mov r13, qword [rdx + 8]
cmp r14, r13
je 0x1400e1281
mov rax, qword gs:[0x58]
mov rdi, qword [rax]
mov qword [rbp - 0x70], rdi
xor ebx, ebx
mov r15d, 0x478
mov rcx, r14
call fcn.140103ec0
test eax, eax
jne 0x1400e0cf0
lea rax, [0x1401a82b0]
cmp r14, rax
je 0x1400e0cf0
mov rdx, rax
cmp qword [0x1401a82c8], 0x10
cmovae rdx, qword [0x1401a82b0]
mov r8, qword [0x1401a82c0]
mov rcx, r14
call fcn.1400d9ac0
mov rdx, r14
lea rcx, [rsp + 0x68]
call fcn.1400d92a0
mov rdx, rax
mov r8d, ebx
mov r9, rbx
cmp qword [rax + 0x10], 0
jbe 0x1400e0d3f
nop dword [rax]
mov rcx, qword [0x1401a82a8]
movzx r10d, word [rcx + 0x80]
mov rcx, rdx
cmp qword [rdx + 0x18], 0x10
jb 0x1400e0d2c
mov rcx, qword [rdx]
xor byte [r9 + rcx], r10b
inc r8d
inc r9
movsxd rax, r8d
cmp rax, qword [rdx + 0x10]
jb 0x1400e0d10
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], rbx
movups xmm0, xmmword [rdx]
movups xmmword [rsp + 0x40], xmm0
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [rsp + 0x50], xmm1
mov qword [rdx + 0x10], rbx
mov eax, 0xf
mov qword [rdx + 0x18], rax
mov byte [rdx], 0
mov rcx, rdx
call fcn.1400d96a0
nop
lea rcx, [rsp + 0x40]
cmp qword [rsp + 0x58], 0x10
cmovae rcx, qword [rsp + 0x40]
xor r9d, r9d
lea r8d, [r9 + 0x41]
lea rdx, [rbp - 0x78]
call fcn.1400cd200
nop
lea rcx, [rsp + 0x40]
call fcn.1400d96a0
movdqa xmm0, xmmword [0x140184df0]
movdqa xmm1, xmmword [0x140184e00]
movdqa xmm2, xmmword [0x140184e10]
mov dword [rbp + 0x20], 0xc5425c93
mov word [rbp + 0x24], 0x6b26
mov eax, dword [r15 + rdi]
mov ebx, 0x380
add rbx, rdi
test al, 1
jne 0x1400e0e46
or eax, 1
mov dword [r15 + rdi], eax
mov byte [rbx + 0x37], 1
lea rax, [rbx + 0x36]
lea rcx, [rbp + 0x26]
cmp rbx, rcx
ja 0x1400e0e1c
lea rcx, [rbp - 0x10]
cmp rax, rcx
jb 0x1400e0e1c
movups xmmword [rbx], xmm0
movups xmmword [rbx + 0x10], xmm1
movups xmmword [rbx + 0x20], xmm2
mov eax, dword [rbp + 0x20]
mov dword [rbx + 0x30], eax
movzx eax, word [rbp + 0x24]
mov word [rbx + 0x34], ax
mov byte [rbx + 0x36], 0xd3
jmp 0x1400e0e39
movups xmmword [rbx], xmm0
movups xmmword [rbx + 0x10], xmm1
movups xmmword [rbx + 0x20], xmm2
mov eax, dword [rbp + 0x20]
mov dword [rbx + 0x30], eax
movzx eax, word [rbp + 0x24]
mov word [rbx + 0x34], ax
mov byte [rbx + 0x36], 0xd3
lea rcx, [0x14015eb60]
call fcn.140106ffc
nop
mov rcx, rbx
call fcn.1400e40a0
xor ecx, ecx
mov qword [rsp + 0x30], rcx
lea rax, [rbp - 0x68]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
xor r9d, r9d
lea r8d, [rcx - 1]
mov rdx, rbx
mov r15, qword [rbp - 0x78]
mov rcx, r15
call fcn.14008ae80
test eax, eax
jne 0x1400e1265
mov rcx, qword [rbp - 0x68]
call fcn.140039550
cmp eax, 0x64
jne 0x1400e125c
xor edi, edi
nop word [rax + rax]
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
mov qword [rbp - 0x40], rdi
mov eax, 0xf
mov qword [rbp - 0x38], rax
mov byte [rbp - 0x50], 0
movups xmmword [rbp - 0x30], xmm0
mov qword [rbp - 0x20], rdi
mov qword [rbp - 0x18], rax
mov byte [rbp - 0x30], 0
mov rbx, qword [rbp - 0x68]
test rbx, rbx
je 0x1400e0f0c
mov rax, qword [rbx]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x1400e0ee3
call qword [0x1401a50e0]
mov rcx, qword [rbx + 0xa0]
test rcx, rcx
je 0x1400e0ef8
cmp di, word [rbx + 0xc0]
jb 0x1400e0f13
mov rcx, qword [rbx]
mov dword [rcx + 0x50], 0x19
mov edx, 0x19
call fcn.14000a0f0
lea rcx, [0x14017dc28]
movzx edx, word [rcx + 0x14]
movzx eax, dx
mov r8d, 0x202
and ax, r8w
cmp ax, r8w
jne 0x1400e0f36
cmp byte [rcx + 0x16], 1
jne 0x1400e0f36
mov rax, qword [rcx + 8]
jmp 0x1400e0f47
test dl, 1
je 0x1400e0f40
mov rax, rdi
jmp 0x1400e0f47
mov dl, 1
call fcn.1400328a0
mov rdi, rax
test rbx, rbx
je 0x1400e0f85
mov edx, dword [rbx + 0x34]
mov rcx, qword [rbx]
cmp byte [rcx + 0x67], 0
jne 0x1400e0f65
test edx, edx
jne 0x1400e0f65
xor ecx, ecx
mov eax, ecx
jmp 0x1400e0f6a
call fcn.140006dc0
mov dword [rbx + 0x34], eax
mov rax, qword [rbx]
mov rcx, qword [rax + 0x18]
mov rax, rdi
test rcx, rcx
je 0x1400e0f85
call qword [0x1401a50f0]
mov rax, rdi
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
xor edi, edi
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], rdi
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], dil
jne 0x1400e0fa0
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.1400d9d80
mov r8d, edi
mov r9, rdi
cmp qword [rsp + 0x50], rdi
jbe 0x1400e1004
nop dword [rax]
nop word [rax + rax]
mov rax, qword [0x1401a82a8]
movzx edx, word [rax + 0x80]
lea rcx, [rsp + 0x40]
cmp qword [rsp + 0x58], 0x10
cmovae rcx, qword [rsp + 0x40]
xor byte [r9 + rcx], dl
inc r8d
lea r9, [r9 + 1]
movsxd rax, r8d
cmp rax, qword [rsp + 0x50]
jb 0x1400e0fd0
movups xmm6, xmmword [rsp + 0x40]
movups xmmword [rsp + 0x68], xmm6
movups xmm7, xmmword [rsp + 0x50]
movups xmmword [rsp + 0x78], xmm7
mov qword [rsp + 0x50], rdi
mov ebx, 0xf
mov qword [rsp + 0x58], rbx
mov byte [rsp + 0x40], dil
lea rcx, [rsp + 0x40]
call fcn.1400d96a0
movaps xmmword [rbp - 0x50], xmm6
movaps xmmword [rbp - 0x40], xmm7
mov qword [rsp + 0x78], rdi
mov qword [rbp - 0x80], rbx
mov byte [rsp + 0x68], dil
lea rcx, [rsp + 0x68]
call fcn.1400d96a0
mov rbx, qword [rbp - 0x68]
test rbx, rbx
je 0x1400e10a7
mov rax, qword [rbx]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x1400e1071
call qword [0x1401a50e0]
mov rcx, qword [rbx + 0xa0]
test rcx, rcx
je 0x1400e1093
mov eax, 1
cmp ax, word [rbx + 0xc0]
jae 0x1400e1093
add rcx, 0x38
jne 0x1400e10ae
jmp 0x1400e10e5
mov rcx, qword [rbx]
mov dword [rcx + 0x50], 0x19
mov edx, 0x19
call fcn.14000a0f0
lea rcx, [0x14017dc28]
movzx edx, word [rcx + 0x14]
movzx eax, dx
mov r8d, 0x202
and ax, r8w
cmp ax, r8w
jne 0x1400e10d1
cmp byte [rcx + 0x16], 1
jne 0x1400e10d1
mov rdi, qword [rcx + 8]
jmp 0x1400e10e0
test dl, 1
jne 0x1400e10e0
mov dl, 1
call fcn.1400328a0
mov rdi, rax
test rbx, rbx
je 0x1400e1115
mov edx, dword [rbx + 0x34]
mov rcx, qword [rbx]
cmp byte [rcx + 0x67], 0
jne 0x1400e10fb
test edx, edx
jne 0x1400e10fb
xor ecx, ecx
mov eax, ecx
jmp 0x1400e1100
call fcn.140006dc0
mov dword [rbx + 0x34], eax
mov rax, qword [rbx]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x1400e1115
call qword [0x1401a50f0]
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
xor eax, eax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rax
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rdi + r8], al
jne 0x1400e1130
mov rdx, rdi
lea rcx, [rsp + 0x40]
call fcn.1400d9d80
xor edi, edi
mov r8d, edi
mov r9d, edi
cmp qword [rsp + 0x50], rdi
jbe 0x1400e1194
nop word [rax + rax]
mov rax, qword [0x1401a82a8]
movzx edx, word [rax + 0x80]
lea rcx, [rsp + 0x40]
cmp qword [rsp + 0x58], 0x10
cmovae rcx, qword [rsp + 0x40]
xor byte [r9 + rcx], dl
inc r8d
lea r9, [r9 + 1]
movsxd rax, r8d
cmp rax, qword [rsp + 0x50]
jb 0x1400e1160
movups xmm7, xmmword [rsp + 0x40]
movups xmmword [rsp + 0x68], xmm7
movups xmm6, xmmword [rsp + 0x50]
movups xmmword [rsp + 0x78], xmm6
mov qword [rsp + 0x50], rdi
mov ebx, 0xf
mov qword [rsp + 0x58], rbx
mov byte [rsp + 0x40], dil
lea rcx, [rsp + 0x40]
call fcn.1400d96a0
movaps xmmword [rbp - 0x30], xmm7
movaps xmmword [rbp - 0x20], xmm6
mov qword [rsp + 0x78], rdi
mov qword [rbp - 0x80], rbx
mov byte [rsp + 0x68], dil
lea rcx, [rsp + 0x68]
call fcn.1400d96a0
lea rcx, [rsi + 0x88]
mov rbx, qword [rsi + 0x90]
cmp rbx, qword [rsi + 0x98]
je 0x1400e1227
mov qword [rsp + 0x60], rbx
lea rdx, [rbp - 0x50]
mov rcx, rbx
call fcn.1400d92a0
nop
lea rcx, [rbx + 0x20]
lea rdx, [rbp - 0x30]
call fcn.1400d92a0
nop
add qword [rsi + 0x90], 0x40
jmp 0x1400e1234
lea r8, [rbp - 0x50]
mov rdx, rbx
call fcn.1400ec870
nop
lea rcx, [rbp - 0x30]
call fcn.1400d96a0
lea rcx, [rbp - 0x50]
call fcn.1400d96a0
mov rcx, qword [rbp - 0x68]
call fcn.140039550
cmp eax, 0x64
je 0x1400e0ea0
mov rdi, qword [rbp - 0x70]
mov rcx, qword [rbp - 0x68]
call fcn.140038580
call fcn.140104300
xor edx, edx
mov rcx, r15
call fcn.1400ca670
add r14, 0x20
cmp r14, r13
jne 0x1400e0cae
mov rcx, r12
call fcn.1400e5240
xor eax, eax
mov rcx, qword [rbp + 0x28]
xor rcx, rsp
call fcn.140106970
lea r11, [rsp + 0x150]
mov rbx, qword [r11 + 0x50]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret