Function at 0x1801f7300
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rdi
push r14
sub rsp, 0xb0
mov ebx, 0
mov qword [rsp + 0x88], rdx
mov rax, rdx
mov qword [rsp + 0x80], r9
mov rdx, r9
mov qword [rsp + 0x10], rbx
and rdx, 0xfffffffffffffff8
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x78], rdx
mov rdi, r9
mov r11, r8
mov r14d, ebx
je 0x1801f627c
mov qword [rsp + 0xd0], rbp
sub r11, rax
mov qword [rsp + 0xa8], rsi
mov qword [rsp + 0xa0], r12
mov qword [rsp + 0x98], r13
lea r13, [rax + 0x10]
lea rax, [r11 + 0x20]
mov qword [rsp + 0x90], r15
mov qword [rsp + 0x28], rax
lea rax, [r11 + 0x28]
mov qword [rsp + 0x30], rax
mov qword [rsp], r13
mov qword [rsp + 8], r11
nop dword [rax]
nop word [rax + rax]
mov r9, qword [r11 + r13 - 0x10]
xor eax, eax
mov rsi, qword [r11 + r13 - 8]
mov r12, qword [r11 + r13]
mov rdi, qword [r11 + r13 + 8]
mov r15, qword [r13 - 0x10]
mov rbp, qword [r13 - 8]
lea rdx, [r9 + r15]
cmp rdx, r15
lea r10, [rsi + rbp]
setb al
add rdx, rbx
xor r8d, r8d
mov qword [rsp + 0x38], rdx
cmp rdx, rbx
mov rbx, qword [r11 + r13 + 0x10]
setb r8b
or r8, rax
xor eax, eax
cmp r10, rbp
setb al
add r10, r8
xor edx, edx
mov qword [rsp + 0x40], r10
cmp r10, r8
mov r8, qword [r13]
setb dl
or rdx, rax
xor eax, eax
lea r10, [r12 + r8]
cmp r10, r8
setb al
add r10, rdx
xor r8d, r8d
mov qword [rsp + 0x48], r10
cmp r10, rdx
mov rdx, qword [r13 + 8]
setb r8b
or r8, rax
xor eax, eax
lea r10, [rdi + rdx]
cmp r10, rdx
setb al
add r10, r8
xor edx, edx
mov qword [rsp + 0x50], r10
cmp r10, r8
mov r8, qword [r13 + 0x10]
setb dl
or rdx, rax
xor eax, eax
lea r10, [rbx + r8]
cmp r10, r8
setb al
add r10, rdx
xor r8d, r8d
mov qword [rsp + 0x58], r10
cmp r10, rdx
mov rdx, qword [r13 + 0x18]
mov r10, qword [r11 + r13 + 0x18]
setb r8b
or r8, rax
xor eax, eax
lea r11, [r10 + rdx]
cmp r11, rdx
setb al
add r11, r8
xor edx, edx
mov qword [rsp + 0x60], r11
cmp r11, r8
mov r8, qword [r13 + 0x20]
setb dl
or rdx, rax
mov rax, qword [rsp + 0x28]
mov r11, qword [rax + r13]
xor eax, eax
lea r14, [r11 + r8]
cmp r14, r8
setb al
add r14, rdx
mov qword [rsp + 0x68], r14
xor r8d, r8d
cmp r14, rdx
mov rdx, qword [r13 + 0x28]
setb r8b
or r8, rax
mov rax, qword [rsp + 0x30]
mov r14, qword [rax + r13]
xor eax, eax
lea r13, [r14 + rdx]
cmp r13, rdx
setb al
xor edx, edx
add r13, r8
cmp r13, r8
mov qword [rsp + 0x70], r13
mov r8, r15
setb dl
sub r8, r9
or rdx, rax
mov r13, r8
sub r13, qword [rsp + 0x10]
mov r9, rbp
sub r9, rsi
mov qword [rsp + 0x20], rdx
xor edx, edx
cmp r13, r8
seta dl
xor eax, eax
cmp r8, r15
mov r15, r9
seta al
or rdx, rax
mov rax, qword [rsp]
sub r15, rdx
xor edx, edx
mov rsi, qword [rax]
mov r8, rsi
sub r8, r12
cmp r15, r9
seta dl
xor eax, eax
cmp r9, rbp
mov rbp, r8
seta al
or rdx, rax
mov rax, qword [rsp]
sub rbp, rdx
xor edx, edx
mov r12, qword [rax + 8]
mov r9, r12
sub r9, rdi
cmp rbp, r8
seta dl
xor eax, eax
cmp r8, rsi
mov rsi, r9
seta al
or rdx, rax
mov rax, qword [rsp]
sub rsi, rdx
xor edx, edx
mov r8, qword [rax + 0x10]
sub r8, rbx
mov rbx, qword [rsp]
cmp rsi, r9
mov rdi, r8
seta dl
xor eax, eax
cmp r9, r12
mov r12, qword [rbx + 0x18]
mov r9, r12
seta al
sub r9, r10
or rdx, rax
sub rdi, rdx
xor edx, edx
cmp rdi, r8
seta dl
xor eax, eax
cmp r8, qword [rbx + 0x10]
seta al
or rdx, rax
mov r8, qword [rsp]
mov rbx, r9
sub rbx, rdx
xor edx, edx
mov r10, qword [r8 + 0x20]
sub r10, r11
cmp rbx, r9
mov r11, r10
seta dl
xor eax, eax
cmp r9, r12
mov r12, qword [r8 + 0x28]
mov r9, qword [rsp]
mov r8, r12
seta al
sub r8, r14
or rdx, rax
sub r11, rdx
xor edx, edx
cmp r11, r10
seta dl
xor eax, eax
cmp r10, qword [r9 + 0x20]
mov r9, r8
seta al
xor r14d, r14d
or rdx, rax
sub r9, rdx
cmp r9, r8
seta r14b
xor eax, eax
cmp r8, r12
seta al
or r14, rax
mov rax, r13
xor rax, qword [rsp + 0x38]
and rax, rcx
mov qword [rsp + 0x10], r14
xor rax, r13
mov r13, qword [rsp]
mov qword [r13 - 0x10], rax
mov rax, r15
xor rax, qword [rsp + 0x40]
and rax, rcx
xor rax, r15
mov qword [r13 - 8], rax
mov rax, rbp
xor rax, qword [rsp + 0x48]
and rax, rcx
xor rax, rbp
mov qword [r13], rax
mov rax, rsi
xor rax, qword [rsp + 0x50]
and rax, rcx
xor rax, rsi
mov qword [r13 + 8], rax
mov rax, rdi
xor rax, qword [rsp + 0x58]
and rax, rcx
xor rax, rdi
mov qword [r13 + 0x10], rax
mov rax, rbx
xor rax, qword [rsp + 0x60]
and rax, rcx
xor rax, rbx
mov qword [r13 + 0x18], rax
mov rax, r11
xor rax, qword [rsp + 0x68]
and rax, rcx
xor rax, r11
mov qword [r13 + 0x20], rax
mov rax, r9
xor rax, qword [rsp + 0x70]
and rax, rcx
xor rax, r9
mov qword [r13 + 0x28], rax
mov rax, qword [rsp + 0x18]
add rax, 8
mov qword [rsp + 0x18], rax
add r13, 0x40
mov rdx, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x20]
mov r11, qword [rsp + 8]
mov qword [rsp], r13
cmp rax, rdx
jne 0x1801f5f00
mov r15, qword [rsp + 0x90]
mov r13, qword [rsp + 0x98]
mov r12, qword [rsp + 0xa0]
mov rsi, qword [rsp + 0xa8]
mov rbp, qword [rsp + 0xd0]
mov rdi, qword [rsp + 0x80]
mov rax, qword [rsp + 0x88]
jmp 0x1801f6284
sub r11, rax
mov qword [rsp + 8], r11
cmp rdx, rdi
je 0x1801f62f6
lea rax, [rax + rdx*8]
sub rdi, rdx
mov r9, qword [r11 + rax]
xor r8d, r8d
mov r10, qword [rax]
lea rax, [rax + 8]
lea r11, [r9 + 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, r9
mov r9, r8
sub r9, r14
xor r14d, r14d
cmp r9, r8
seta r14b
xor edx, edx
cmp r8, r10
seta dl
or r14, rdx
mov rdx, r9
xor rdx, r11
mov r11, qword [rsp + 8]
and rdx, rcx
xor rdx, r9
mov qword [rax - 8], rdx
sub rdi, 1
jne 0x1801f6290
add rsp, 0xb0
pop r14
pop rdi
pop rbx
ret
mov rax, rsp
push rbp
push rsi
push rdi
push r14
sub rsp, 0x48
mov r14, r9
mov rdi, r8
mov rbp, rdx
mov rsi, rcx
cmp r9, 0x20
jb 0x1801f74e7
test r14b, 1
jne 0x1801f74e7
mov qword [rax + 8], rbx
mov r8, r9
mov qword [rax + 0x10], r12
lea rbx, [rcx + r9*8]
mov r12, qword [rsp + 0x90]
mov qword [rax + 0x18], r13
mov qword [rax - 0x28], r15
mov r15, r9
shr r15, 1
mov rax, rdx
shl r8, 4
lea r13, [r15*8]
add rax, r13
mov qword [rsp + 0x38], rax
test r8, r8
je 0x1801f7377
xor edx, edx
mov rcx, r12
call fcn.180283390
mov r9, rbp
mov qword [rsp + 0x28], r12
add r9, r13
mov qword [rsp + 0x20], r15
mov r8, rbp
lea rcx, [rsp + 0x30]
mov rdx, rsi
call fcn.1801f6310
mov r9, rdi
mov qword [rsp + 0x28], r12
lea r8, [rdi + r13]
mov qword [rsp + 0x20], r15
mov rdx, rbx
lea rcx, [rsp + 0x88]
call fcn.1801f6310
mov rbx, qword [rsp + 0x88]
lea rax, [r12 + r14*8]
xor rbx, qword [rsp + 0x30]
lea r8, [rsi + r14*8]
mov r9, r15
mov qword [rsp + 0x20], rax
mov rdx, rsi
mov rcx, r12
not rbx
call fcn.1801f7300
lea rax, [r12 + r14*8]
mov r9, r15
mov r8, rdi
mov qword [rsp + 0x20], rax
mov rdx, rbp
mov rcx, rsi
call fcn.1801f7300
mov rdx, qword [rsp + 0x38]
lea r8, [rdi + r13]
lea rdi, [rsi + r14*8]
mov r9, r15
lea rbp, [r12 + r14*8]
mov rcx, rdi
mov qword [rsp + 0x20], rbp
call fcn.1801f7300
mov r9, rdi
mov qword [rsp + 0x20], r14
mov r8, r14
mov rdx, rsi
mov rcx, rbp
call fcn.18014f880
mov qword [rsp + 0x88], rax
mov r9, r14
lea rax, [rsi + r13]
mov r8, rbp
mov rcx, rax
mov qword [rsp + 0x38], rax
mov rdx, r14
call fcn.18014f640
lea rcx, [r15 + r14]
mov r9d, 1
lea rsi, [rsi + rcx*8]
mov rdx, r15
mov rcx, rsi
lea r8, [rsp + 0x88]
mov rdi, rax
call fcn.18014f640
add rax, rdi
lea r8, [rsp + 0x88]
mov r9d, 1
mov qword [rsp + 0x88], rax
mov rdx, r15
mov rcx, rsi
call fcn.18014f640
test r13, r13
je 0x1801f74b0
mov r8, r13
xor edx, edx
mov rcx, rbp
call fcn.180283390
mov rdx, qword [rsp + 0x38]
lea r9, [r14 + r14]
sub r9, r15
mov r8, r12
mov rcx, rbx
mov r15, qword [rsp + 0x40]
mov r13, qword [rsp + 0x80]
mov r12, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x70]
add rsp, 0x48
pop r14
pop rdi
pop rsi
pop rbp
jmp 0x1801f5e60
mov rax, r14
sub rax, 6
je 0x1801f7560
sub rax, 2
je 0x1801f7552
sub rax, 1
je 0x1801f7544
sub rax, 7
je 0x1801f7536
cmp rax, 8
je 0x1801f7528
lea rdx, [r9 + r9]
mov qword [rsp + 0x28], r14
mov r8, rbp
mov qword [rsp + 0x20], rdi
call fcn.1801f6740
add rsp, 0x48
pop r14
pop rdi
pop rsi
pop rbp
ret
add rsp, 0x48
pop r14
pop rdi
pop rsi
pop rbp
jmp fcn.18023f410
add rsp, 0x48
pop r14
pop rdi
pop rsi
pop rbp
jmp fcn.18023ce50
add rsp, 0x48
pop r14
pop rdi
pop rsi
pop rbp
jmp fcn.18023c540
add rsp, 0x48
pop r14
pop rdi
pop rsi
pop rbp
jmp fcn.18023be10
add rsp, 0x48
pop r14
pop rdi
pop rsi
pop rbp
jmp fcn.18023b9f0