Function at 0x1400d3ba0
Capabilities:
Encode data using xor

Disassembly:
test rcx, rcx
je 0x1400d3bd4
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 8], rcx
push rsi
push r13
push r15
sub rsp, 0x40
mov r15, r9
mov r13, rdx
mov rsi, rcx
test rdx, rdx
jne 0x1400d3bd6
add rsp, 0x40
pop r15
pop r13
pop rsi
ret
lea rax, [r8 + rdx]
cmp rax, r15
ja 0x1400d3bcb
mov qword [rsp + 0x20], r14
lea ecx, [r8 + rdx]
mov r14, qword [rsp + 0x90]
test r8, r8
jne 0x1400d404a
mov rax, qword [rsp + 0x88]
lea r9, [0x140000000]
mov qword [rsp + 0x68], rbx
xor edx, edx
mov qword [rsp + 0x38], rbp
mov ebx, 0xffffffff
mov dword [r14], ebx
lea ebp, [r8 + 4]
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], r12
mov r12, qword [rsp + 0x80]
mov dword [rax], ebx
mov dword [r12], ebx
cmp r13, 0x1000
jae 0x1400d3eb9
mov r14d, 0x1000
mov r15d, ecx
sub r14d, ecx
mov r11, rsi
mov r10d, ebx
cmp r15, rbp
jae 0x1400d3f06
mov r8, rdx
mov rdi, r15
mov rsi, r15
sub rdi, r8
and rdi, 0xfffffffffffffff8
cmp r15, rbp
cmovb rdi, rdx
sub rsi, rdi
sub rsi, r8
test r8, r8
jne 0x1400d3f1d
shr rdi, 3
test rdi, rdi
je 0x1400d3d45
lea r12, [0x140000000]
nop word [rax + rax]
xor r10d, dword [r11]
mov r9d, dword [r11 + 4]
add r11, 8
mov r8d, r10d
mov eax, r10d
shr rax, 0x10
movzx edx, al
mov eax, r10d
shr rax, 8
movzx ecx, al
mov eax, r9d
mov r10d, dword [r12 + rdx*4 + 0x3ed6b0]
shr rax, 0x10
xor r10d, dword [r12 + rcx*4 + 0x3edeb0]
movzx ecx, al
mov eax, r9d
shr rax, 8
xor r10d, dword [r12 + rcx*4 + 0x3ee2b0]
movzx ecx, al
mov eax, r8d
shr rax, 0x18
xor r10d, dword [r12 + rcx*4 + 0x3ed2b0]
xor r10d, dword [r12 + rax*4 + 0x3edab0]
mov eax, r9d
shr rax, 0x18
xor r10d, dword [r12 + rax*4 + 0x3a9700]
movzx eax, r8b
xor r10d, dword [r12 + rax*4 + 0x3eeab0]
movzx eax, r9b
xor r10d, dword [r12 + rax*4 + 0x3ee6b0]
sub rdi, 1
jne 0x1400d3ca0
mov r12, qword [rsp + 0x80]
lea r9, [0x140000000]
test rsi, rsi
jne 0x1400d3f49
mov dword [r12], r10d
mov rsi, r14
cmp r14, 0x400
ja 0x1400d3f76
mov r8, rsi
lea rdx, [0x1403ab3c0]
mov ecx, r10d
call fcn.1400d40b0
mov dword [r12], eax
cmp qword [rsp + 0x78], r13
je 0x1400d3fb1
mov rsi, qword [rsp + 0x60]
mov r14, qword [rsp + 0x90]
mov r15, qword [rsp + 0x78]
mov edi, 0x10000
cmp r13, rdi
ja 0x1400d3fe0
mov rdi, r13
cmp r13, rbp
jae 0x1400d3fe0
xor eax, eax
mov ebp, eax
mov r11, rdi
lea r12, [0x140000000]
sub r11, rbp
mov r10, rsi
and r11, 0xfffffffffffffff8
cmp rdi, 4
cmovb r11, rax
sub rdi, r11
sub rdi, rbp
test rbp, rbp
jne 0x1400d3ff6
mov rbp, qword [rsp + 0x38]
shr r11, 3
test r11, r11
je 0x1400d3e84
xor ebx, dword [r10]
mov r9d, dword [r10 + 4]
add r10, 8
mov r8d, ebx
mov eax, ebx
shr rax, 0x10
movzx edx, al
mov eax, ebx
shr rax, 8
movzx ecx, al
mov eax, r9d
mov ebx, dword [r12 + rdx*4 + 0x3ed6b0]
shr rax, 0x10
xor ebx, dword [r12 + rcx*4 + 0x3edeb0]
movzx ecx, al
mov eax, r9d
shr rax, 8
xor ebx, dword [r12 + rcx*4 + 0x3ee2b0]
movzx ecx, al
mov eax, r8d
shr rax, 0x18
xor ebx, dword [r12 + rcx*4 + 0x3ed2b0]
xor ebx, dword [r12 + rax*4 + 0x3edab0]
mov eax, r9d
shr rax, 0x18
xor ebx, dword [r12 + rax*4 + 0x3a9700]
movzx eax, r8b
xor ebx, dword [r12 + rax*4 + 0x3eeab0]
movzx eax, r9b
xor ebx, dword [r12 + rax*4 + 0x3ee6b0]
sub r11, 1
jne 0x1400d3df0
test rdi, rdi
jne 0x1400d401d
mov rax, qword [rsp + 0x88]
mov r12, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x30]
mov dword [rax], ebx
mov rbx, qword [rsp + 0x68]
cmp r15, r13
jne 0x1400d4045
mov r14, qword [rsp + 0x20]
jmp 0x1400d3bcb
mov r8d, 0x1000
mov rdx, rsi
mov ecx, ebx
call fcn.1400d40b0
mov dword [r12], eax
cmp r15, r13
jne 0x1400d3d95
cmp r13, 0x1000
jne 0x1400d3ee7
mov dword [r14], eax
jmp 0x1400d3da3
lea rdx, [r13 - 0x1000]
mov r8d, 0x1000
add rdx, rsi
mov ecx, ebx
call fcn.1400d40b0
mov dword [r14], eax
jmp 0x1400d3d95
mov rax, rsi
and eax, 3
je 0x1400d3c60
mov r8, rbp
sub r8, rax
jmp 0x1400d3c63
movzx eax, byte [r11]
mov ecx, r10d
xor rcx, rax
inc r11
mov eax, r10d
movzx edx, cl
shr eax, 8
mov r10d, dword [r9 + rdx*4 + 0x3a9700]
xor r10d, eax
sub r8, 1
jne 0x1400d3f1d
jmp 0x1400d3c86
movzx eax, byte [r11]
lea r11, [r11 + 1]
mov ecx, r10d
xor rcx, rax
mov eax, r10d
shr eax, 8
movzx edx, cl
mov r10d, dword [r9 + rdx*4 + 0x3a9700]
xor r10d, eax
sub rsi, 1
jne 0x1400d3f49
jmp 0x1400d3d4e
lea rdi, [r14 - 0x401]
shr rdi, 0xa
inc rdi
imul rsi, rdi, 0xfffffffffffffc00
add rsi, r14
mov r8d, 0x400
lea rdx, [0x1403ab3c0]
mov ecx, r10d
call fcn.1400d40b0
mov r10d, eax
sub rdi, 1
jne 0x1400d3f8e
jmp 0x1400d3d62
mov rdx, r14
mov ecx, ebx
call fcn.14010c018
mov r14, qword [rsp + 0x90]
mov r8, r15
mov rsi, qword [rsp + 0x60]
mov ecx, eax
mov rdx, rsi
mov dword [r14], eax
call fcn.1400d40b0
mov dword [r14], eax
jmp 0x1400d3d90
mov rax, rsi
and eax, 3
je 0x1400d3daf
sub rbp, rax
xor eax, eax
jmp 0x1400d3db3
movzx ecx, byte [r10]
mov eax, ebx
xor rcx, rax
inc r10
shr eax, 8
movzx edx, cl
mov ebx, dword [r12 + rdx*4 + 0x3a9700]
xor ebx, eax
sub rbp, 1
jne 0x1400d3ff6
jmp 0x1400d3dde
movzx ecx, byte [r10]
lea r10, [r10 + 1]
mov eax, ebx
xor rcx, rax
shr eax, 8
movzx edx, cl
mov ebx, dword [r12 + rdx*4 + 0x3a9700]
xor ebx, eax
sub rdi, 1
jne 0x1400d401d
jmp 0x1400d3e8d
mov r8, qword [rsp + 0x70]
mov rax, r15
sub rax, r13
sub rax, r8
cmp rax, 0x1000
jae 0x1400d3eaf
mov ecx, dword [r14]
lea edx, [r8 + 0x1000]
mov eax, r13d
sub eax, r15d
add edx, eax
cmp r13, 0x1000
jb 0x1400d4086
mov r8d, edx
sub rsi, r8
lea rdx, [rsi + r13]
jmp 0x1400d4093
cmp r13d, edx
cmovae r13d, edx
mov rdx, rsi
mov r8d, r13d
call fcn.1400d40b0
mov dword [r14], eax
jmp 0x1400d3eaf