Function at 0x1400dbf40
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x1a8
lea rbp, [rsp + 0x50]
and rbp, 0xffffffffffffffe0
mov rax, qword [0x1402e0068]
xor rax, rsp
mov qword [rbp + 0x148], rax
mov rax, qword [rsp + 0x210]
mov rsi, qword [rsp + 0x220]
xor r12d, r12d
mov qword [rbp + 8], rax
mov rax, qword [rsp + 0x218]
mov rdi, r9
mov qword [rbp + 0x10], rax
xor eax, eax
mov qword [rbp + 0x28], r9
mov qword [rbp + 0x121], rax
mov qword [rbp + 0x129], rax
mov qword [rbp + 0x131], rax
mov qword [rbp + 0x139], rax
lea rax, [r9 + 1]
mov rbx, r8
mov r13, rdx
mov qword [rbp + 0x20], rdx
mov qword [rbp + 0x18], rcx
mov dword [rbp], r12d
mov byte [rbp + 0x120], r12b
mov r14, r12
mov r15, r12
mov qword [rbp + 0xa0], rax
test rax, rax
je 0x1400dc687
cmp rax, 0xfffffff
ja 0x1400dc687
lea r8d, [r12 + 0x60]
lea rcx, [rbp + 0x40]
xor edx, edx
call fcn.1401e6750
mov eax, dword [rsi + 0x34]
test eax, eax
jne 0x1400dc027
cmp dword [rsi + 0x38], r12d
jne 0x1400dc027
mov edx, dword [rsi + 0x30]
lea rcx, [rsi + 0x20]
call fcn.1400da360
test eax, eax
jne 0x1400dc02c
inc dword [rsi + 0x34]
jmp 0x1400dc02c
inc eax
mov dword [rsi + 0x34], eax
test rbx, rbx
je 0x1400dc499
mov r13, qword [rbp + 0x18]
mov r13, qword [r13]
test r13, r13
je 0x1400dc660
mov rcx, r13
call fcn.1400db840
test eax, eax
je 0x1400dc428
mov rcx, rbx
call fcn.1400d8df0
cmp eax, 0x100
jg 0x1400dc06f
cmp dword [rbx + 0x10], r12d
je 0x1400dc100
mov rcx, rsi
call fcn.1400da2e0
mov rdi, rax
test rax, rax
je 0x1400dc660
mov rax, qword [rbp + 0x18]
mov r13, qword [rax + 8]
movsxd rax, dword [r13 + 8]
test eax, eax
je 0x1400dc660
mov rcx, rax
mov rax, qword [r13]
cmp qword [rax + rcx*8 - 8], r12
je 0x1400dc660
mov r9, r13
mov r8, rbx
mov rdx, rdi
xor ecx, ecx
mov qword [rsp + 0x20], rsi
call fcn.1400e1940
test eax, eax
je 0x1400dc660
mov rcx, rdi
call fcn.1400d9960
cmp dword [rdi + 0x10], r12d
je 0x1400dc0fd
cmp dword [r13 + 0x10], r12d
lea rcx, [fcn.1400da690]
lea rax, [fcn.1400da590]
cmovne rax, rcx
mov r8, r13
mov rdx, rdi
mov rcx, rdi
call rax
test eax, eax
je 0x1400dc660
mov rbx, rdi
mov r9d, dword [rbx + 8]
mov r8d, r12d
shl r9d, 3
test r9d, r9d
jle 0x1400dc177
mov r10, qword [rbx]
lea rdx, [rbp + 0x121]
nop word [rax + rax]
mov eax, r8d
add r8d, 8
add rdx, 8
shr eax, 3
mov rcx, qword [r10 + rax*8]
mov rax, rcx
mov byte [rdx - 9], cl
shr rax, 8
mov byte [rdx - 8], al
mov rax, rcx
shr rcx, 0x18
shr rax, 0x10
mov byte [rdx - 6], cl
shr rcx, 8
mov byte [rdx - 7], al
mov rax, rcx
mov byte [rdx - 5], cl
shr rax, 8
mov byte [rdx - 4], al
mov rax, rcx
shr rcx, 0x18
shr rax, 0x10
cmp r8d, r9d
mov byte [rdx - 2], cl
mov byte [rdx - 3], al
jl 0x1400dc120
movsxd rax, r8d
cmp rax, 0x21
jge 0x1400dc198
mov r8d, 0x21
lea rcx, [rbp + rax + 0x120]
xor edx, edx
sub r8, rax
call fcn.1401e6750
movzx edx, byte [rbp + 0x120]
mov ecx, 0xff
and edx, 0x7f
add edx, edx
sub ecx, edx
mov r8d, edx
shr r8d, 7
dec r8d
not r8d
and ecx, r8d
mov eax, r8d
and r8d, 1
not eax
and eax, edx
lea rdx, [0x140205000]
or ecx, eax
mov eax, ecx
and ecx, 1
shr eax, 1
add eax, ecx
lea rcx, [rbp + 0x40]
lea ebx, [r8 + rax*2]
mov r8d, ebx
shr r8d, 1
call fcn.14022c020
lea rdx, [rbp + 0x60]
lea rcx, [rbp + 0x80]
call fcn.14022a4c0
mov r11d, ebx
mov r13d, 6
and r11d, 1
lea rdi, [0x140206000]
neg r11
mov r8, r11
mov r9, r11
mov rdx, r11
and rdx, qword [rbp + 0x88]
and r9, qword [rbp + 0x80]
mov rcx, r11
and r11, qword [rbp + 0x98]
and rcx, qword [rbp + 0x90]
not r8
mov rax, r8
and rax, qword [rbp + 0x60]
xor r9, rax
mov rax, r8
and rax, qword [rbp + 0x68]
mov qword [rbp + 0x60], r9
xor rdx, rax
mov rax, r8
and r8, qword [rbp + 0x78]
and rax, qword [rbp + 0x70]
xor r11, r8
mov qword [rbp + 0x68], rdx
xor rcx, rax
mov qword [rbp + 0x78], r11
or r11, rcx
mov qword [rbp + 0x70], rcx
or r11, rdx
movabs rdx, 0xffffffff00000000
or r11, r9
or r11, qword [rbp + 0x58]
or r11, qword [rbp + 0x50]
or r11, qword [rbp + 0x48]
or r11, qword [rbp + 0x40]
mov rcx, r11
neg rcx
or rcx, r11
not rcx
shr rcx, 0x3f
dec rcx
mov rax, rcx
mov qword [rbp + 0x90], rcx
and eax, 1
mov qword [rbp + 0x80], rax
mov rax, rcx
and rax, rdx
mov qword [rbp + 0x88], rax
mov eax, 0xfffffffe
and rcx, rax
mov qword [rbp + 0x98], rcx
lea r15d, [r13 + 0x1e]
nop dword [rax]
mov edx, r13d
shr edx, 3
movzx ecx, byte [rbp + rdx + 0x120]
lea eax, [rdx + 1]
mov edx, 0xff
movzx r8d, byte [rbp + rax + 0x120]
shl r8d, 8
or r8d, ecx
mov ecx, r13d
add r13d, 7
and ecx, 7
shr r8d, cl
movzx ecx, r8b
sub edx, ecx
mov r8d, ecx
shr r8d, 7
dec r8d
not r8d
and edx, r8d
mov eax, r8d
and r8d, 1
not eax
and eax, ecx
lea rcx, [rbp + 0xc0]
or edx, eax
mov eax, edx
and edx, 1
shr eax, 1
add eax, edx
mov rdx, rdi
lea ebx, [r8 + rax*2]
mov r8d, ebx
shr r8d, 1
call fcn.14022c020
lea rdx, [rbp + 0xe0]
lea rcx, [rbp + 0x100]
call fcn.14022a4c0
mov rcx, qword [rbp + 0xe0]
mov rax, qword [rbp + 0x100]
mov r11d, ebx
lea r8, [rbp + 0xc0]
and r11d, 1
neg r11
and rax, r11
mov rdx, r11
not rdx
and rcx, rdx
xor rcx, rax
mov rax, qword [rbp + 0x108]
mov qword [rbp + 0xe0], rcx
mov rcx, qword [rbp + 0xe8]
and rax, r11
and rcx, rdx
xor rcx, rax
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0xe8], rcx
mov rcx, qword [rbp + 0xf0]
and rax, r11
and rcx, rdx
xor rcx, rax
mov rax, qword [rbp + 0x118]
mov qword [rbp + 0xf0], rcx
mov rcx, qword [rbp + 0xf8]
and rax, r11
and rcx, rdx
lea rdx, [rbp + 0x40]
xor rcx, rax
mov qword [rbp + 0xf8], rcx
lea rcx, [rbp + 0x40]
call fcn.14022d040
add rdi, 0x1000
sub r15, 1
jne 0x1400dc2e0
mov rdi, qword [rbp + 0x28]
mov r13, qword [rbp + 0x20]
mov r15, r12
mov eax, r12d
jmp 0x1400dc4a1
shl rdi, 3
mov dword [rbp], 1
lea rcx, [rdi + 8]
call fcn.1401e6440
mov r14, rax
test rax, rax
je 0x1400dc660
lea rcx, [rdi + 8]
call fcn.1401e6440
mov r15, rax
test rax, rax
je 0x1400dc660
mov rdx, qword [rbp + 0x10]
mov r8, rdi
mov rcx, r14
call fcn.1401e75a0
mov rdx, qword [rbp + 8]
mov r8, rdi
mov rcx, r15
mov qword [rdi + r14], rbx
call fcn.1401e75a0
mov eax, dword [rbp]
mov qword [rdi + r15], r13
mov rdi, qword [rbp + 0xa0]
mov r13, qword [rbp + 0x20]
mov rdx, r14
mov rcx, r15
jmp 0x1400dc4a9
mov eax, 1
mov dword [rbp], eax
mov rdx, qword [rbp + 0x10]
mov rcx, qword [rbp + 8]
test rdi, rdi
je 0x1400dc4fa
lea r8, [rbp + 0xc0]
test eax, eax
mov r9, rcx
mov rcx, qword [rbp + 0x18]
lea rbx, [rbp + 0x40]
mov qword [rsp + 0x28], rsi
cmove rbx, r8
mov r8, rdx
mov qword [rsp + 0x20], rdi
mov rdx, rbx
call fcn.1400dae40
test eax, eax
je 0x1400dc660
mov eax, dword [rbp]
test eax, eax
jne 0x1400dc4fa
lea rdx, [rbp + 0x40]
lea rcx, [rbp + 0x40]
mov r8, rbx
call fcn.14022c8e0
mov rdi, qword [r13]
mov ebx, 4
cmp dword [rdi + 0xc], ebx
jl 0x1400dc50d
mov rax, rdi
jmp 0x1400dc517
mov edx, ebx
mov rcx, rdi
call fcn.1400d9000
test rax, rax
je 0x1400dc660
mov rcx, qword [rdi]
lea rdx, [rbp + 0x40]
mov rax, qword [rdx]
mov qword [rcx], rax
mov rax, qword [rdx + 8]
mov qword [rcx + 8], rax
mov rax, qword [rdx + 0x10]
mov qword [rcx + 0x10], rax
mov rax, qword [rdx + 0x18]
mov qword [rcx + 0x18], rax
mov rcx, qword [rdi]
mov dword [rdi + 8], ebx
add rcx, 0x20
mov eax, ebx
sub rcx, 8
cmp qword [rcx], r12
jne 0x1400dc560
dec eax
test eax, eax
jg 0x1400dc551
mov dword [rdi + 8], eax
test eax, eax
jne 0x1400dc56b
mov dword [rdi + 0x10], r12d
mov rdi, qword [r13 + 8]
cmp dword [rdi + 0xc], ebx
jl 0x1400dc579
mov rax, rdi
jmp 0x1400dc583
mov edx, ebx
mov rcx, rdi
call fcn.1400d9000
test rax, rax
je 0x1400dc660
mov rcx, qword [rdi]
lea rdx, [rbp + 0x60]
mov rax, qword [rdx]
mov qword [rcx], rax
mov rax, qword [rdx + 8]
mov qword [rcx + 8], rax
mov rax, qword [rdx + 0x10]
mov qword [rcx + 0x10], rax
mov rax, qword [rdx + 0x18]
mov qword [rcx + 0x18], rax
mov rcx, qword [rdi]
mov dword [rdi + 8], ebx
add rcx, 0x20
mov eax, ebx
nop dword [rax]
sub rcx, 8
cmp qword [rcx], r12
jne 0x1400dc5cf
dec eax
test eax, eax
jg 0x1400dc5c0
mov dword [rdi + 8], eax
test eax, eax
jne 0x1400dc5da
mov dword [rdi + 0x10], r12d
mov rdi, qword [r13 + 0x10]
cmp dword [rdi + 0xc], ebx
jl 0x1400dc5e8
mov rax, rdi
jmp 0x1400dc5f2
mov edx, ebx
mov rcx, rdi
call fcn.1400d9000
test rax, rax
je 0x1400dc660
mov rcx, qword [rdi]
lea rdx, [rbp + 0x80]
mov rax, qword [rdx]
mov qword [rcx], rax
mov rax, qword [rdx + 8]
mov qword [rcx + 8], rax
mov rax, qword [rdx + 0x10]
mov qword [rcx + 0x10], rax
mov rax, qword [rdx + 0x18]
mov qword [rcx + 0x18], rax
mov rax, qword [rdi]
mov dword [rdi + 8], ebx
add rax, 0x20
nop dword [rax]
sub rax, 8
cmp qword [rax], r12
jne 0x1400dc63f
dec ebx
test ebx, ebx
jg 0x1400dc630
mov dword [rdi + 8], ebx
test ebx, ebx
jne 0x1400dc64a
mov dword [rdi + 0x10], r12d
mov rcx, qword [r13 + 0x10]
call fcn.1400dade0
mov r12d, 1
and eax, 1
mov dword [r13 + 0x18], eax
mov rcx, rsi
call fcn.1400da260
test r15, r15
je 0x1400dc675
mov rcx, r15
call fcn.1401e64f8
test r14, r14
je 0x1400dc682
mov rcx, r14
call fcn.1401e64f8
mov eax, r12d
jmp 0x1400dc689
xor eax, eax
mov rcx, qword [rbp + 0x148]
xor rcx, rsp
call fcn.1401e6720
add rsp, 0x1a8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret