Function at 0x1400d7990
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x18
mov qword [rdx], r8
mov r11, rdx
mov qword [rsp + 0x20], rbx
mov r10, rcx
mov qword [rdx + 8], r9
mov qword [rsp + 0x28], rbp
xor ebp, ebp
mov dword [rdx + 0x14], ebp
mov eax, dword [rcx + 0x6e08]
dec eax
mov qword [rsp + 0x30], rsi
mov dword [rdx + 0x18], eax
mov rsi, r8
mov eax, dword [r9]
lea r8d, [rbp + 1]
mov dword [rdx + 0x1c], eax
mov qword [rsp + 0x10], rdi
mov edi, dword [rsp + 0x48]
mov dword [rdx + 0x20], edi
mov eax, dword [rcx + 0xa8]
mov dword [rdx + 0x24], eax
mov eax, dword [rsp + 0x40]
mov dword [rdx + 0x30], eax
mov qword [rdx + 0x28], rbp
mov qword [rdx + 0x34], rbp
mov qword [rdx + 0x3c], rbp
mov dword [rdx + 0x44], ebp
mov ebx, dword [rcx + 0x234]
mov qword [rsp], r15
mov r15, r9
cmp ebx, 3
jne 0x1400d7a24
cmp dword [rcx + 0x74], ebp
je 0x1400d7a24
cmp dword [rcx + 0x2dc], ebp
jne 0x1400d7a1f
cmp dword [rcx + 0x2e8], ebp
jne 0x1400d7a24
mov r9d, r8d
jmp 0x1400d7a27
mov r9d, ebp
mov dword [rcx + 0xb83c], r9d
cmp dword [rcx + 0xb838], ebp
jne 0x1400d7a8a
cmp dword [rdx + 0x10], r8d
jne 0x1400d7a8a
mov rdx, qword [rcx + 0x5440]
mov rax, qword [rcx + 0x53a8]
mov ecx, dword [rax + 8]
cmp dword [rdx + 0x98], ecx
jne 0x1400d7a7f
mov ecx, ebp
test r9d, r9d
je 0x1400d7a73
mov eax, dword [r10 + 0xc8c8]
cmp dword [r10 + 0xc8cc], eax
setg cl
mov dword [r11 + 0x48], ecx
jmp 0x1400d7a8a
cmp ebx, r8d
sete cl
mov dword [r11 + 0x48], ecx
jmp 0x1400d7a8a
mov dword [r10 + 0xb83c], ebp
mov dword [r11 + 0x48], r8d
mov dword [r11 + 0x4c], ebp
mov dword [r11 + 0x50], r8d
mov dword [r11 + 0x54], r8d
mov eax, dword [r10 + 0x54e8]
mov dword [r11 + 0x58], eax
mov ecx, dword [r10 + 0x54ec]
mov dword [r11 + 0x5c], ecx
mov qword [rsp + 8], r14
test eax, eax
je 0x1400d7b1c
mov edx, edi
mov ebx, ebp
cmp dword [r10 + 0x53a0], ebp
jle 0x1400d7b1c
mov r14, r11
lea r9, [r10 + 0x53a8]
sub r14, r10
nop
mov rax, qword [r9]
lea r9, [r9 + 8]
mov ecx, ebp
mov eax, dword [rax + 0x78]
sub eax, edx
test eax, eax
cdq
setg cl
xor eax, edx
sub eax, edx
mov dword [r14 + r9 - 0x5350], ecx
mov ecx, dword [rsi + 0x1c]
dec eax
mov edx, r8d
inc ebx
shl edx, cl
dec edx
and eax, edx
mov dword [r14 + r9 - 0x534c], eax
mov rax, qword [r9 - 8]
mov edx, dword [rax + 0x78]
cmp ebx, dword [r10 + 0x53a0]
jl 0x1400d7ad0
mov ecx, dword [r11 + 0x5c]
test ecx, ecx
je 0x1400d7b88
mov ebx, ebp
cmp dword [r10 + 0x53a4], ebp
jle 0x1400d7b88
mov r14, r11
lea r9, [r10 + 0x5440]
sub r14, r10
nop dword [rax + rax]
mov rax, qword [r9]
lea r9, [r9 + 8]
mov ecx, ebp
mov eax, dword [rax + 0x78]
sub eax, edi
test eax, eax
cdq
setg cl
xor eax, edx
sub eax, edx
mov dword [r14 + r9 - 0x5368], ecx
mov ecx, dword [rsi + 0x1c]
dec eax
mov edx, r8d
inc ebx
shl edx, cl
dec edx
and eax, edx
mov dword [r14 + r9 - 0x5364], eax
mov rax, qword [r9 - 8]
mov edi, dword [rax + 0x78]
cmp ebx, dword [r10 + 0x53a4]
jl 0x1400d7b40
mov eax, dword [r10 + 0xa4]
mov ecx, dword [rsp + 0x50]
mov r14, qword [rsp + 8]
mov rdi, qword [rsp + 0x10]
mov rsi, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x20]
mov dword [r11 + 0x19f8], eax
mov eax, 0x3f
cmp ecx, eax
cmovl eax, ecx
mov dword [r11 + 0x19fc], eax
sub eax, dword [r15 + 0x24]
mov r15, qword [rsp]
mov qword [r11 + 0x1a04], rbp
mov rbp, qword [rsp + 0x28]
mov dword [r11 + 0x1a00], eax
cmp dword [r10 + 0x94], 0
mov edx, dword [r10 + 0x9c]
mov eax, dword [r10 + 0x98]
je 0x1400d7c16
cmp dword [r10 + 0xb830], 0
jne 0x1400d7c09
cmp eax, edx
cmovge eax, edx
lea eax, [rcx + rax*2]
cmp eax, 0xf
jle 0x1400d7c16
mov eax, dword [r10 + 0xc]
neg eax
sbb r8d, r8d
and r8d, 2
mov dword [r11 + 0x1a0c], r8d
mov eax, dword [r10 + 0x98]
add eax, eax
mov dword [r11 + 0x1a10], eax
mov eax, dword [r10 + 0x9c]
add eax, eax
mov dword [r11 + 0x1a14], eax
add rsp, 0x18
ret