Function at 0x18014f0e0
Capabilities:
Encode data using xor

Disassembly:
mov r11, rsp
push rbx
push rbp
push rsi
push rdi
sub rsp, 0xd8
mov rsi, qword [rsp + 0x120]
mov rbp, r9
mov qword [rsp + 0xc8], r9
mov ebx, 0
mov r9, rsi
mov qword [rsp + 0x10], r8
and r9, 0xfffffffffffffff8
mov qword [rsp + 0xc0], rdx
mov qword [rsp + 0xb0], r9
mov r10, rdx
mov eax, ebx
mov qword [rsp + 0x18], rbx
je 0x18014f580
mov qword [r11 + 8], r12
mov qword [r11 + 0x18], r13
mov qword [r11 + 0x20], r14
mov qword [r11 - 0x28], r15
mov r11, r8
sub r11, rdx
lea r15, [rdx + 0x10]
mov qword [rsp], r15
mov qword [rsp + 0xb8], r11
lea rdx, [r11 + 0x20]
mov qword [rsp + 0x28], rdx
lea r12, [r11 + 0x18]
lea rdx, [r11 + 0x28]
mov qword [rsp + 0x30], rdx
mov rdx, rbp
sub rdx, r10
mov qword [rsp + 8], rdx
lea r8, [rdx - 8]
mov qword [rsp + 0x40], r8
lea r8, [rdx + 8]
mov qword [rsp + 0x48], r8
lea r8, [rdx + 0x10]
mov qword [rsp + 0x50], r8
lea r8, [rdx + 0x18]
mov qword [rsp + 0x58], r8
lea r8, [rdx + 0x20]
mov qword [rsp + 0x60], r8
lea r8, [rdx + 0x28]
add rdx, 0xfffffffffffffff0
mov qword [rsp + 0x68], r8
mov qword [rsp + 0x38], rdx
nop dword [rax + rax]
mov r8, qword [r11 + r15 - 0x10]
xor edx, edx
mov r10, qword [r11 + r15 - 8]
mov r14, qword [r15 - 0x10]
mov rdi, qword [r15 - 8]
add r8, r14
mov rsi, qword [r15]
cmp r8, r14
mov r13, qword [r15 + 0x20]
setb dl
mov rbp, qword [r12 + r15]
add r8, rbx
xor r9d, r9d
cmp r8, rbx
mov qword [rsp + 0x70], r8
mov rbx, qword [r15 + 8]
setb r9b
add r10, rdi
or r9, rdx
xor edx, edx
cmp r10, rdi
setb dl
add r10, r9
xor r8d, r8d
mov qword [rsp + 0x78], r10
cmp r10, r9
mov r10, qword [r11 + r15]
setb r8b
add r10, rsi
or r8, rdx
xor edx, edx
cmp r10, rsi
setb dl
add r10, r8
xor r9d, r9d
mov qword [rsp + 0x80], r10
cmp r10, r8
mov r10, qword [r11 + r15 + 8]
mov r11, qword [r11 + r15 + 0x10]
setb r9b
add r10, rbx
or r9, rdx
xor edx, edx
cmp r10, rbx
setb dl
add r10, r9
xor r8d, r8d
mov qword [rsp + 0x88], r10
cmp r10, r9
mov r10, qword [r15 + 0x10]
setb r8b
add r11, r10
or r8, rdx
xor edx, edx
cmp r11, r10
setb dl
add r11, r8
xor r9d, r9d
mov qword [rsp + 0x90], r11
cmp r11, r8
mov r11, qword [r15 + 0x18]
setb r9b
add rbp, r11
or r9, rdx
xor edx, edx
cmp rbp, r11
setb dl
add rbp, r9
xor r8d, r8d
mov qword [rsp + 0x98], rbp
cmp rbp, r9
setb r8b
or r8, rdx
mov rdx, qword [rsp + 0x28]
mov rbp, qword [rdx + r15]
xor edx, edx
add rbp, r13
cmp rbp, r13
setb dl
add rbp, r8
mov qword [rsp + 0xa0], rbp
mov r12, qword [r15 + 0x28]
xor r9d, r9d
cmp rbp, r8
setb r9b
or r9, rdx
mov rdx, qword [rsp + 0x30]
mov r8, qword [rdx + r15]
xor edx, edx
add r8, r12
cmp r8, r12
setb dl
add r8, r9
xor ebp, ebp
mov qword [rsp + 0xa8], r8
cmp r8, r9
mov r9, rdi
mov r8, r14
setb bpl
or rbp, rdx
mov rdx, qword [rsp + 0x38]
mov qword [rsp + 0x20], rbp
mov rbp, qword [rsp]
sub r8, qword [rdx + r15]
xor edx, edx
mov r15, r8
sub r15, rax
mov rax, qword [rsp + 0x40]
sub r9, qword [rax + rbp]
cmp r15, r8
seta dl
xor eax, eax
cmp r8, r14
mov r14, r9
mov r8, rsi
seta al
or rdx, rax
mov rax, qword [rsp + 8]
sub r14, rdx
xor edx, edx
sub r8, qword [rax + rbp]
cmp r14, r9
mov rbp, r8
seta dl
xor eax, eax
cmp r9, rdi
mov rdi, qword [rsp]
mov r9, rbx
seta al
or rdx, rax
mov rax, qword [rsp + 0x48]
sub rbp, rdx
xor edx, edx
sub r9, qword [rax + rdi]
cmp rbp, r8
seta dl
xor eax, eax
cmp r8, rsi
mov rsi, r9
mov r8, r10
seta al
or rdx, rax
mov rax, qword [rsp + 0x50]
sub rsi, rdx
xor edx, edx
sub r8, qword [rax + rdi]
cmp rsi, r9
mov rdi, r8
seta dl
xor eax, eax
cmp r9, rbx
mov r9, r11
seta al
or rdx, rax
mov rax, qword [rsp]
sub rdi, rdx
mov rdx, qword [rsp + 0x58]
sub r9, qword [rdx + rax]
xor edx, edx
cmp rdi, r8
seta dl
xor eax, eax
cmp r8, r10
mov rbx, r9
mov r10, r13
mov r8, r12
seta al
or rdx, rax
mov rax, qword [rsp]
sub rbx, rdx
mov rdx, qword [rsp + 0x60]
sub r10, qword [rdx + rax]
xor edx, edx
cmp rbx, r9
seta dl
xor eax, eax
cmp r9, r11
mov r11, r10
seta al
or rdx, rax
mov rax, qword [rsp]
sub r11, rdx
mov rdx, qword [rsp + 0x68]
sub r8, qword [rdx + rax]
xor edx, edx
cmp r11, r10
mov r9, r8
seta dl
xor eax, eax
cmp r10, r13
seta al
or rdx, rax
xor eax, eax
sub r9, rdx
cmp r9, r8
seta al
xor edx, edx
cmp r8, r12
seta dl
or rax, rdx
mov rdx, r15
xor rdx, qword [rsp + 0x70]
and rdx, rcx
xor rdx, r15
mov r15, qword [rsp]
mov qword [r15 - 0x10], rdx
mov rdx, r14
xor rdx, qword [rsp + 0x78]
and rdx, rcx
xor rdx, r14
mov qword [r15 - 8], rdx
mov rdx, rbp
xor rdx, qword [rsp + 0x80]
and rdx, rcx
xor rdx, rbp
mov qword [r15], rdx
mov rdx, rsi
xor rdx, qword [rsp + 0x88]
and rdx, rcx
xor rdx, rsi
mov qword [r15 + 8], rdx
mov rdx, rdi
xor rdx, qword [rsp + 0x90]
and rdx, rcx
xor rdx, rdi
mov qword [r15 + 0x10], rdx
mov rdx, rbx
xor rdx, qword [rsp + 0x98]
and rdx, rcx
xor rdx, rbx
mov qword [r15 + 0x18], rdx
mov rdx, r11
xor rdx, qword [rsp + 0xa0]
and rdx, rcx
xor rdx, r11
mov qword [r15 + 0x20], rdx
mov rdx, r9
xor rdx, qword [rsp + 0xa8]
and rdx, rcx
xor rdx, r9
mov qword [r15 + 0x28], rdx
mov rdx, qword [rsp + 0x18]
add rdx, 8
mov r11, qword [rsp + 0xb8]
add r15, 0x40
mov r9, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0x20]
mov qword [rsp + 0x18], rdx
mov qword [rsp], r15
lea r12, [r11 + 0x18]
cmp rdx, r9
jne 0x18014f1c0
mov r15, qword [rsp + 0xd0]
mov r14, qword [rsp + 0x118]
mov r13, qword [rsp + 0x110]
mov r12, qword [rsp + 0x100]
mov rdx, qword [rsp + 8]
mov rsi, qword [rsp + 0x120]
mov r8, qword [rsp + 0x10]
mov r10, qword [rsp + 0xc0]
mov rbp, qword [rsp + 0xc8]
jmp 0x18014f58b
mov rdx, rbp
sub rdx, r10
mov qword [rsp + 8], rdx
cmp r9, rsi
je 0x18014f61c
sub r8, rbp
lea rdi, [r10 + r9*8]
mov qword [rsp + 0x10], r8
sub rsi, r9
nop dword [rax]
nop word [rax + rax]
mov r10, qword [rdi]
lea r9, [rdx + rdi]
mov r11, qword [r9 + r8]
lea rdi, [rdi + 8]
xor r8d, r8d
add r11, r10
cmp r11, r10
setb r8b
xor edx, edx
add r11, rbx
cmp r11, rbx
setb dl
mov rbx, rdx
or rbx, r8
mov r8, r10
sub r8, qword [r9]
mov r9, r8
sub r9, rax
xor eax, eax
cmp r9, r8
seta al
xor edx, edx
cmp r8, r10
mov r8, qword [rsp + 0x10]
seta dl
or rax, rdx
mov rdx, r9
xor rdx, r11
and rdx, rcx
xor rdx, r9
mov qword [rdi - 8], rdx
mov rdx, qword [rsp + 8]
sub rsi, 1
jne 0x18014f5b0
mov rdx, rax
xor rdx, rbx
and rdx, rcx
xor rax, rdx
add rsp, 0xd8
pop rdi
pop rsi
pop rbp
pop rbx
ret