Function at 0x1400d6990
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x248
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x1c0], 0xfffffffffffffffe
mov qword [rbp + 0x140], r9
mov qword [rbp + 0x138], r8
mov r14, rdx
mov r13, rcx
mov eax, dword [rbp + 0x230]
mov dword [rbp + 0x19c], eax
mov byte [rbp + 0x1b0], 1
mov byte [rbp + 0x190], 1
mov rsi, r14
cmp rsi, 0x15
jb 0x1400d7ac8
movzx eax, byte [rbp + 0x190]
and byte [rbp + 0x1b0], al
mov qword [rbp + 0x1b8], r13
mov qword [rbp + 0x130], rsi
mov qword [rbp + 0x1a8], r13
nop word cs:[rax + rax]
cmp dword [rbp + 0x19c], 0
je 0x1400d7aff
test byte [rbp + 0x190], 1
je 0x1400d6fc5
mov r13, rsi
shr r13, 2
mov rbx, r13
add rbx, r13
lea r15, [r13*2]
add r15, r13
cmp rsi, 0x31
mov qword [rbp + 0x1a0], rsi
jbe 0x1400d6c60
lea r14, [r13 - 1]
mov qword [rbp + 0x78], r15
lea rsi, [r13 + 1]
mov rcx, r13
shl rcx, 6
mov r12, qword [rbp + 0x1b8]
add rcx, r12
mov rdx, r14
shl rdx, 6
add rdx, r12
call fcn.1400d64a0
movzx eax, al
mov qword [rbp + 0x128], rax
test al, al
mov rdi, r13
cmovne rdi, r14
cmovne r14, r13
mov rcx, rsi
shl rcx, 6
add rcx, r12
mov rdx, rdi
shl rdx, 6
add rdx, r12
call fcn.1400d64a0
movzx eax, al
mov qword [rbp + 0x148], rax
test al, al
cmovne rdi, rsi
mov rcx, rdi
shl rcx, 6
add rcx, r12
mov rdx, r14
shl rdx, 6
add rdx, r12
call fcn.1400d64a0
movzx eax, al
mov qword [rbp + 0x70], rax
test al, al
cmovne rdi, r14
lea r15, [rbx - 1]
mov rsi, rbx
or rsi, 1
mov rcx, rbx
shl rcx, 6
add rcx, r12
mov rdx, r15
shl rdx, 6
add rdx, r12
call fcn.1400d64a0
movzx eax, al
mov qword [rbp + 0x80], rax
test al, al
mov r13, rbx
cmovne r13, r15
cmovne r15, rbx
mov rcx, rsi
shl rcx, 6
add rcx, r12
mov rdx, r13
shl rdx, 6
add rdx, r12
call fcn.1400d64a0
movzx eax, al
mov qword [rbp + 0x88], rax
test al, al
cmovne r13, rsi
mov rcx, r13
shl rcx, 6
add rcx, r12
mov rdx, r15
shl rdx, 6
add rdx, r12
call fcn.1400d64a0
movzx eax, al
mov qword [rbp + 0x90], rax
test al, al
cmovne r13, r15
mov rax, qword [rbp + 0x78]
lea r15, [rax - 1]
lea r14, [rax + 1]
mov rcx, rax
mov rbx, rax
shl rcx, 6
add rcx, r12
mov rdx, r15
shl rdx, 6
add rdx, r12
call fcn.1400d64a0
movzx eax, al
mov qword [rbp + 0x98], rax
test al, al
mov rsi, rbx
cmovne rsi, r15
cmovne r15, rbx
mov rcx, r14
shl rcx, 6
add rcx, r12
mov rdx, rsi
shl rdx, 6
add rdx, r12
call fcn.1400d64a0
movzx ebx, al
test bl, bl
cmovne rsi, r14
mov rcx, rsi
shl rcx, 6
add rcx, r12
mov rdx, r15
shl rdx, 6
add rdx, r12
call fcn.1400d64a0
movzx eax, al
mov rcx, qword [rbp + 0x128]
mov rdx, qword [rbp + 0x148]
add rcx, rdx
mov rdx, qword [rbp + 0x80]
lea rcx, [rdx + rcx]
mov rdx, qword [rbp + 0x88]
add rcx, rdx
mov rdx, qword [rbp + 0x70]
add rcx, rdx
mov rdx, qword [rbp + 0x90]
add rcx, rdx
mov rdx, qword [rbp + 0x98]
add rdx, rbx
lea r14, [rax + rdx]
add r14, rcx
test al, al
cmovne rsi, r15
mov r15, rsi
mov rbx, r13
mov r13, rdi
jmp 0x1400d6c6a
xor r14d, r14d
mov r12, qword [rbp + 0x1b8]
mov rcx, rbx
shl rcx, 6
add rcx, r12
mov rdx, r13
shl rdx, 6
add rdx, r12
call fcn.1400d64a0
movzx eax, al
lea rdi, [rax + r14]
test al, al
mov rsi, rbx
cmovne rsi, r13
cmovne r13, rbx
mov rcx, r15
shl rcx, 6
add rcx, r12
mov rdx, rsi
shl rdx, 6
add rdx, r12
call fcn.1400d64a0
movzx eax, al
add rdi, rax
test al, al
cmovne rsi, r15
mov rcx, rsi
shl rcx, 6
add rcx, r12
mov rdx, r13
shl rdx, 6
add rdx, r12
call fcn.1400d64a0
test al, al
je 0x1400d6cf0
cmp rdi, 0xb
mov r14, qword [rbp + 0x1a0]
jae 0x1400d6d20
inc rdi
jmp 0x1400d6cfa
mov r13, rsi
mov r14, qword [rbp + 0x1a0]
test rdi, rdi
sete al
test byte [rbp + 0x1b0], al
je 0x1400d6d9d
jmp 0x1400d6fdf
mov rax, r14
shr rax, 1
mov r8, qword [rbp + 0x1b8]
lea rcx, [r8 + 0x30]
mov rdx, r14
shl rdx, 6
add rdx, r8
add rdx, 0xfffffffffffffff0
nop
movups xmm0, xmmword [rcx - 0x30]
movups xmm1, xmmword [rdx - 0x30]
movups xmmword [rcx - 0x30], xmm1
movups xmmword [rdx - 0x30], xmm0
movups xmm0, xmmword [rcx - 0x20]
movups xmm1, xmmword [rdx - 0x20]
movups xmmword [rcx - 0x20], xmm1
movups xmmword [rdx - 0x20], xmm0
movups xmm0, xmmword [rcx - 0x10]
movups xmm1, xmmword [rdx - 0x10]
movups xmmword [rcx - 0x10], xmm1
movups xmmword [rdx - 0x10], xmm0
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rdx]
movups xmmword [rcx], xmm1
movups xmmword [rdx], xmm0
add rcx, 0x40
add rdx, 0xffffffffffffffc0
dec rax
jne 0x1400d6d40
not r13
add r13, r14
mov al, 1
test byte [rbp + 0x1b0], al
jne 0x1400d6fdf
cmp qword [rbp + 0x140], 0
je 0x1400d7000
cmp r13, r14
jae 0x1400d7b17
mov rsi, r13
shl rsi, 6
mov rbx, qword [rbp + 0x1b8]
add rsi, rbx
mov rcx, qword [rbp + 0x140]
mov rdx, rsi
call fcn.1400d64a0
test al, al
jne 0x1400d7020
movups xmm0, xmmword [rbx]
movups xmm1, xmmword [rbx + 0x10]
movups xmm2, xmmword [rbx + 0x20]
movups xmm3, xmmword [rbx + 0x30]
movaps xmmword [rbp + 0xd0], xmm3
movaps xmmword [rbp + 0xc0], xmm2
movaps xmmword [rbp + 0xb0], xmm1
movaps xmmword [rbp + 0xa0], xmm0
movups xmm0, xmmword [rsi]
movups xmm1, xmmword [rsi + 0x10]
movups xmm2, xmmword [rsi + 0x20]
movups xmm3, xmmword [rsi + 0x30]
movups xmmword [rbx], xmm0
movups xmmword [rbx + 0x30], xmm3
movups xmmword [rbx + 0x20], xmm2
movups xmmword [rbx + 0x10], xmm1
movaps xmm0, xmmword [rbp + 0xa0]
movaps xmm1, xmmword [rbp + 0xb0]
movaps xmm2, xmmword [rbp + 0xc0]
movaps xmm3, xmmword [rbp + 0xd0]
movups xmmword [rsi + 0x30], xmm3
movups xmmword [rsi + 0x20], xmm2
movups xmmword [rsi + 0x10], xmm1
movups xmmword [rsi], xmm0
lea rdi, [rbx + 0x40]
movups xmm0, xmmword [rbx]
movups xmm1, xmmword [rbx + 0x10]
movups xmm2, xmmword [rbx + 0x20]
movups xmm3, xmmword [rbx + 0x30]
movaps xmmword [rbp - 0x20], xmm3
movaps xmmword [rbp - 0x30], xmm2
movaps xmmword [rbp - 0x40], xmm1
movaps xmmword [rbp - 0x50], xmm0
mov r13, r14
mov rbx, r14
xor r15d, r15d
lea r12, [rbp - 0x50]
mov r14, rbx
dec r14
cmp r15, r14
jae 0x1400d6eb0
nop dword [rax + rax]
mov rdx, r15
shl rdx, 6
add rdx, rdi
mov rcx, r12
call fcn.1400d64a0
test al, al
jne 0x1400d6eb0
inc r15
cmp r15, r14
jb 0x1400d6e90
nop
cmp r15, r14
jae 0x1400d6f70
mov rbx, r14
mov rsi, r14
shl rsi, 6
add rsi, qword [rbp + 0x1b8]
mov rcx, r12
mov rdx, rsi
call fcn.1400d64a0
lea r14, [rbx - 1]
test al, al
jne 0x1400d6eb0
mov rax, r15
shl rax, 6
movups xmm0, xmmword [rdi + rax]
movups xmm1, xmmword [rdi + rax + 0x10]
movups xmm2, xmmword [rdi + rax + 0x20]
movups xmm3, xmmword [rdi + rax + 0x30]
movaps xmmword [rbp + 0xd0], xmm3
movaps xmmword [rbp + 0xc0], xmm2
movaps xmmword [rbp + 0xb0], xmm1
movaps xmmword [rbp + 0xa0], xmm0
movups xmm0, xmmword [rsi]
movups xmm1, xmmword [rsi + 0x10]
movups xmm2, xmmword [rsi + 0x20]
movups xmm3, xmmword [rsi + 0x30]
movups xmmword [rdi + rax], xmm0
movups xmmword [rdi + rax + 0x30], xmm3
movups xmmword [rdi + rax + 0x20], xmm2
movups xmmword [rdi + rax + 0x10], xmm1
movaps xmm0, xmmword [rbp + 0xa0]
movaps xmm1, xmmword [rbp + 0xb0]
movaps xmm2, xmmword [rbp + 0xc0]
movaps xmm3, xmmword [rbp + 0xd0]
movups xmmword [rsi + 0x30], xmm3
movups xmmword [rsi + 0x20], xmm2
movups xmmword [rsi + 0x10], xmm1
movups xmmword [rsi], xmm0
inc r15
jmp 0x1400d6e80
inc r15
movaps xmm0, xmmword [rbp - 0x50]
movaps xmm1, xmmword [rbp - 0x40]
movaps xmm2, xmmword [rbp - 0x30]
movaps xmm3, xmmword [rbp - 0x20]
mov rax, qword [rbp + 0x1b8]
movups xmmword [rax + 0x30], xmm3
movups xmmword [rax + 0x20], xmm2
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
mov rdx, r13
sub rdx, r15
jb 0x1400d7b50
shl r15, 6
add rax, r15
mov qword [rbp + 0x1b8], rax
mov rsi, rdx
cmp rdx, 0x15
jae 0x1400d6a20
jmp 0x1400d7ad2
mov rcx, qword [rbp + 0x1b8]
mov rdx, rsi
call fcn.1401f4d50
dec dword [rbp + 0x19c]
jmp 0x1400d6a3a
mov rcx, qword [rbp + 0x1b8]
mov rdx, r14
call fcn.1401f5000
test al, al
je 0x1400d6d9d
jmp 0x1400d7aea
mov r14, qword [rbp + 0x130]
cmp r13, r14
jb 0x1400d7030
jmp 0x1400d7b2b
mov qword [rbp + 0x1a8], rbx
cmp r13, r14
jae 0x1400d7b2b
shl r13, 6
mov rax, qword [rbp + 0x1a8]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmm2, xmmword [rax + 0x20]
movups xmm3, xmmword [rax + 0x30]
movaps xmmword [rbp + 0xd0], xmm3
movaps xmmword [rbp + 0xc0], xmm2
movaps xmmword [rbp + 0xb0], xmm1
movaps xmmword [rbp + 0xa0], xmm0
movups xmm0, xmmword [rax + r13]
movups xmm1, xmmword [rax + r13 + 0x10]
movups xmm2, xmmword [rax + r13 + 0x20]
movups xmm3, xmmword [rax + r13 + 0x30]
movups xmmword [rax], xmm0
movups xmmword [rax + 0x30], xmm3
movups xmmword [rax + 0x20], xmm2
movups xmmword [rax + 0x10], xmm1
movaps xmm0, xmmword [rbp + 0xa0]
movaps xmm1, xmmword [rbp + 0xb0]
movaps xmm2, xmmword [rbp + 0xc0]
movaps xmm3, xmmword [rbp + 0xd0]
movups xmmword [rax + r13 + 0x30], xmm3
movups xmmword [rax + r13 + 0x20], xmm2
movups xmmword [rax + r13 + 0x10], xmm1
movups xmmword [rax + r13], xmm0
lea rdi, [rax + 0x40]
mov qword [rbp + 0x130], r14
lea rsi, [r14 - 1]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmm2, xmmword [rax + 0x20]
movups xmm3, xmmword [rax + 0x30]
movaps xmmword [rbp + 0x60], xmm3
movaps xmmword [rbp + 0x50], xmm2
movaps xmmword [rbp + 0x40], xmm1
movaps xmmword [rbp + 0x30], xmm0
xor ecx, ecx
cmp rcx, rsi
mov qword [rbp + 0x1b0], rcx
jae 0x1400d7131
nop dword [rax + rax]
shl rcx, 6
add rcx, rdi
lea rdx, [rbp + 0x30]
call fcn.1400d64a0
test al, al
je 0x1400d7140
mov rcx, qword [rbp + 0x1b0]
inc rcx
mov rax, qword [rbp + 0x1a8]
cmp rcx, rsi
mov qword [rbp + 0x1b0], rcx
jb 0x1400d7100
mov r8, rsi
jmp 0x1400d7160
mov r8, rsi
mov rax, qword [rbp + 0x1a8]
mov rcx, qword [rbp + 0x1b0]
nop word cs:[rax + rax]
mov rdx, r8
cmp r8, rcx
jbe 0x1400d7197
mov rbx, rdx
mov rcx, rdx
shl rcx, 6
add rcx, rax
lea rdx, [rbp + 0x30]
call fcn.1400d64a0
mov rdx, rbx
lea r8, [rbx - 1]
test al, al
mov rax, qword [rbp + 0x1a8]
mov rcx, qword [rbp + 0x1b0]
je 0x1400d7160
mov r15, rdx
sub r15, rcx
jb 0x1400d7b7c
mov qword [rbp + 0x148], rdx
cmp rdx, rsi
ja 0x1400d7b64
mov rax, rcx
shl rax, 6
add rdi, rax
shl r15, 6
add r15, rdi
mov eax, 0x80
mov qword [rbp + 0x1a0], rax
xor r12d, r12d
xor r13d, r13d
xor ebx, ebx
xor r14d, r14d
mov qword [rbp + 0x1b8], rax
mov qword [rbp + 0x128], rdi
jmp 0x1400d726e
shl rdx, 6
movaps xmm0, xmmword [rbp + 0x150]
movaps xmm1, xmmword [rbp + 0x160]
movaps xmm2, xmmword [rbp + 0x170]
movaps xmm3, xmmword [rbp + 0x180]
movups xmmword [r15 + rdx + 0x30], xmm3
movups xmmword [r15 + rdx + 0x20], xmm2
movups xmmword [r15 + rdx + 0x10], xmm1
movups xmmword [r15 + rdx], xmm0
inc r14
inc r13
cmp r14, rbx
mov eax, 0
cmove rax, qword [rbp + 0x1b8]
shl rax, 6
add rdi, rax
mov rax, qword [rbp + 0x1a0]
neg rax
cmp r13, r12
mov ecx, 0
cmovne rax, rcx
shl rax, 6
add r15, rax
cmp r10, 0x4040
jb 0x1400d7510
mov r10, r15
sub r10, rdi
cmp r10, 0x4040
jae 0x1400d72de
mov rcx, r10
shr rcx, 6
cmp r14, rbx
setb al
cmp r13, r12
setb dl
or dl, al
lea rax, [rcx - 0x80]
test dl, dl
cmove rax, rcx
cmp r14, rbx
mov rcx, qword [rbp + 0x1a0]
cmovb rcx, rax
mov qword [rbp + 0x1a0], rcx
mov rcx, qword [rbp + 0x1b8]
cmovae rcx, rax
mov qword [rbp + 0x1b8], rcx
test dl, dl
jne 0x1400d72de
mov rcx, rax
shr rcx, 1
mov qword [rbp + 0x1b8], rcx
sub rax, rcx
mov qword [rbp + 0x1a0], rax
cmp r14, rbx
jne 0x1400d7342
cmp qword [rbp + 0x1b8], 0
je 0x1400d73a6
mov qword [rbp + 0x190], r10
lea rbx, [rbp - 0x50]
mov rsi, rdi
xor r14d, r14d
nop word cs:[rax + rax]
mov byte [rbx], r14b
mov rcx, rsi
lea rdx, [rbp + 0x30]
call fcn.1400d64a0
inc r14
xor al, 1
movzx eax, al
add rbx, rax
add rsi, 0x40
cmp r14, qword [rbp + 0x1b8]
jne 0x1400d7310
lea r14, [rbp - 0x50]
mov r10, qword [rbp + 0x190]
cmp r13, r12
jne 0x1400d73c0
cmp qword [rbp + 0x1a0], 0
je 0x1400d73b4
mov qword [rbp + 0x190], r10
lea r12, [rbp + 0xa0]
xor r13d, r13d
mov rsi, r15
nop word cs:[rax + rax]
add rsi, 0xffffffffffffffc0
mov byte [r12], r13b
mov rcx, rsi
lea rdx, [rbp + 0x30]
call fcn.1400d64a0
inc r13
movzx eax, al
add r12, rax
cmp r13, qword [rbp + 0x1a0]
jne 0x1400d7370
lea r13, [rbp + 0xa0]
mov r10, qword [rbp + 0x190]
jmp 0x1400d73c0
lea r14, [rbp - 0x50]
mov rbx, r14
cmp r13, r12
jne 0x1400d73c0
jmp 0x1400d7347
lea r13, [rbp + 0xa0]
mov r12, r13
nop
mov rcx, rbx
sub rcx, r14
mov rax, r12
sub rax, r13
cmp rcx, rax
cmovb rax, rcx
test rax, rax
je 0x1400d722d
movzx ecx, byte [r14]
shl rcx, 6
movups xmm0, xmmword [rdi + rcx]
movups xmm1, xmmword [rdi + rcx + 0x10]
movups xmm2, xmmword [rdi + rcx + 0x20]
movups xmm3, xmmword [rdi + rcx + 0x30]
movaps xmmword [rbp + 0x180], xmm3
movaps xmmword [rbp + 0x170], xmm2
movaps xmmword [rbp + 0x160], xmm1
movaps xmmword [rbp + 0x150], xmm0
movzx ecx, byte [r13]
mov rdx, rcx
not rdx
mov r8, rdx
shl r8, 6
movzx r9d, byte [r14]
shl r9, 6
movups xmm0, xmmword [r15 + r8]
movups xmm1, xmmword [r15 + r8 + 0x10]
movups xmm2, xmmword [r15 + r8 + 0x20]
movups xmm3, xmmword [r15 + r8 + 0x30]
movups xmmword [rdi + r9 + 0x30], xmm3
movups xmmword [rdi + r9 + 0x20], xmm2
movups xmmword [rdi + r9 + 0x10], xmm1
movups xmmword [rdi + r9], xmm0
cmp rax, 1
je 0x1400d71f0
dec rax
nop dword [rax + rax]
movzx r8d, byte [r14 + 1]
inc r14
shl r8, 6
movzx ecx, cl
not rcx
shl rcx, 6
movups xmm0, xmmword [rdi + r8]
movups xmm1, xmmword [rdi + r8 + 0x10]
movups xmm2, xmmword [rdi + r8 + 0x20]
movups xmm3, xmmword [rdi + r8 + 0x30]
movups xmmword [r15 + rcx + 0x30], xmm3
movups xmmword [r15 + rcx + 0x20], xmm2
movups xmmword [r15 + rcx + 0x10], xmm1
movups xmmword [r15 + rcx], xmm0
movzx ecx, byte [r13 + 1]
inc r13
mov rdx, rcx
not rdx
mov r9, rdx
shl r9, 6
movups xmm0, xmmword [r15 + r9]
movups xmm1, xmmword [r15 + r9 + 0x10]
movups xmm2, xmmword [r15 + r9 + 0x20]
movups xmm3, xmmword [r15 + r9 + 0x30]
movups xmmword [rdi + r8 + 0x30], xmm3
movups xmmword [rdi + r8 + 0x20], xmm2
movups xmmword [rdi + r8 + 0x10], xmm1
movups xmmword [rdi + r8], xmm0
dec rax
jne 0x1400d7470
jmp 0x1400d71f0
cmp r14, rbx
jae 0x1400d7530
mov eax, ebx
sub eax, r14d
test al, 1
jne 0x1400d754f
mov rax, rbx
jmp 0x1400d75e8
cmp r13, r12
jae 0x1400d7735
mov eax, r12d
sub eax, r13d
test al, 1
jne 0x1400d7744
mov rax, r12
jmp 0x1400d77e1
lea rax, [rbx - 1]
movzx ecx, byte [rbx - 1]
shl rcx, 6
lea rsi, [r15 - 0x40]
movups xmm0, xmmword [rdi + rcx]
movups xmm1, xmmword [rdi + rcx + 0x10]
movups xmm2, xmmword [rdi + rcx + 0x20]
movups xmm3, xmmword [rdi + rcx + 0x30]
movaps xmmword [rbp + 0x180], xmm3
movaps xmmword [rbp + 0x170], xmm2
movaps xmmword [rbp + 0x160], xmm1
movaps xmmword [rbp + 0x150], xmm0
movups xmm0, xmmword [r15 - 0x40]
movups xmm1, xmmword [r15 - 0x30]
movups xmm2, xmmword [r15 - 0x20]
movups xmm3, xmmword [r15 - 0x10]
movups xmmword [rdi + rcx], xmm0
movups xmmword [rdi + rcx + 0x30], xmm3
movups xmmword [rdi + rcx + 0x20], xmm2
movups xmmword [rdi + rcx + 0x10], xmm1
movaps xmm0, xmmword [rbp + 0x150]
movaps xmm1, xmmword [rbp + 0x160]
movaps xmm2, xmmword [rbp + 0x170]
movaps xmm3, xmmword [rbp + 0x180]
movups xmmword [r15 - 0x10], xmm3
movups xmmword [r15 - 0x20], xmm2
movups xmmword [r15 - 0x30], xmm1
movups xmmword [r15 - 0x40], xmm0
mov r15, rsi
mov r9, qword [rbp + 0x1b0]
mov rcx, r14
not rcx
add rcx, rbx
je 0x1400d7940
nop
movzx ecx, byte [rax - 1]
shl rcx, 6
movups xmm0, xmmword [rdi + rcx]
movups xmm1, xmmword [rdi + rcx + 0x10]
movups xmm2, xmmword [rdi + rcx + 0x20]
movups xmm3, xmmword [rdi + rcx + 0x30]
movaps xmmword [rbp + 0x180], xmm3
movaps xmmword [rbp + 0x170], xmm2
movaps xmmword [rbp + 0x160], xmm1
movaps xmmword [rbp + 0x150], xmm0
movups xmm0, xmmword [r15 - 0x40]
movups xmm1, xmmword [r15 - 0x30]
movups xmm2, xmmword [r15 - 0x20]
movups xmm3, xmmword [r15 - 0x10]
movups xmmword [rdi + rcx], xmm0
movups xmmword [rdi + rcx + 0x30], xmm3
movups xmmword [rdi + rcx + 0x20], xmm2
movups xmmword [rdi + rcx + 0x10], xmm1
movaps xmm0, xmmword [rbp + 0x150]
movaps xmm1, xmmword [rbp + 0x160]
movaps xmm2, xmmword [rbp + 0x170]
movaps xmm3, xmmword [rbp + 0x180]
movups xmmword [r15 - 0x10], xmm3
movups xmmword [r15 - 0x20], xmm2
movups xmmword [r15 - 0x30], xmm1
movups xmmword [r15 - 0x40], xmm0
movzx ecx, byte [rax - 2]
add rax, 0xfffffffffffffffe
shl rcx, 6
lea rsi, [r15 - 0x80]
movups xmm0, xmmword [rdi + rcx]
movups xmm1, xmmword [rdi + rcx + 0x10]
movups xmm2, xmmword [rdi + rcx + 0x20]
movups xmm3, xmmword [rdi + rcx + 0x30]
movaps xmmword [rbp + 0x180], xmm3
movaps xmmword [rbp + 0x170], xmm2
movaps xmmword [rbp + 0x160], xmm1
movaps xmmword [rbp + 0x150], xmm0
movups xmm0, xmmword [r15 - 0x80]
movups xmm1, xmmword [r15 - 0x70]
movups xmm2, xmmword [r15 - 0x60]
movups xmm3, xmmword [r15 - 0x50]
movups xmmword [rdi + rcx], xmm0
movups xmmword [rdi + rcx + 0x30], xmm3
movups xmmword [rdi + rcx + 0x20], xmm2
movups xmmword [rdi + rcx + 0x10], xmm1
movaps xmm0, xmmword [rbp + 0x150]
movaps xmm1, xmmword [rbp + 0x160]
movaps xmm2, xmmword [rbp + 0x170]
movaps xmm3, xmmword [rbp + 0x180]
movups xmmword [r15 - 0x50], xmm3
movups xmmword [r15 - 0x60], xmm2
movups xmmword [r15 - 0x70], xmm1
movups xmmword [r15 - 0x80], xmm0
mov r15, rsi
cmp r14, rax
jb 0x1400d7600
jmp 0x1400d7940
mov rsi, rdi
mov r9, qword [rbp + 0x1b0]
jmp 0x1400d7940
lea rax, [r12 - 1]
movzx ecx, byte [r12 - 1]
not rcx
shl rcx, 6
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
movups xmm2, xmmword [rdi + 0x20]
movups xmm3, xmmword [rdi + 0x30]
movaps xmmword [rbp + 0x180], xmm3
movaps xmmword [rbp + 0x170], xmm2
movaps xmmword [rbp + 0x160], xmm1
movaps xmmword [rbp + 0x150], xmm0
movups xmm0, xmmword [r15 + rcx]
movups xmm1, xmmword [r15 + rcx + 0x10]
movups xmm2, xmmword [r15 + rcx + 0x20]
movups xmm3, xmmword [r15 + rcx + 0x30]
movups xmmword [rdi], xmm0
movups xmmword [rdi + 0x30], xmm3
movups xmmword [rdi + 0x20], xmm2
movups xmmword [rdi + 0x10], xmm1
movaps xmm0, xmmword [rbp + 0x150]
movaps xmm1, xmmword [rbp + 0x160]
movaps xmm2, xmmword [rbp + 0x170]
movaps xmm3, xmmword [rbp + 0x180]
movups xmmword [r15 + rcx + 0x30], xmm3
movups xmmword [r15 + rcx + 0x20], xmm2
movups xmmword [r15 + rcx + 0x10], xmm1
movups xmmword [r15 + rcx], xmm0
add rdi, 0x40
mov rsi, rdi
mov rcx, r13
not rcx
add rcx, r12
mov r9, qword [rbp + 0x1b0]
je 0x1400d7940
nop word [rax + rax]
movzx ecx, byte [rax - 1]
not rcx
shl rcx, 6
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
movups xmm2, xmmword [rdi + 0x20]
movups xmm3, xmmword [rdi + 0x30]
movaps xmmword [rbp + 0x180], xmm3
movaps xmmword [rbp + 0x170], xmm2
movaps xmmword [rbp + 0x160], xmm1
movaps xmmword [rbp + 0x150], xmm0
movups xmm0, xmmword [r15 + rcx]
movups xmm1, xmmword [r15 + rcx + 0x10]
movups xmm2, xmmword [r15 + rcx + 0x20]
movups xmm3, xmmword [r15 + rcx + 0x30]
movups xmmword [rdi], xmm0
movups xmmword [rdi + 0x30], xmm3
movups xmmword [rdi + 0x20], xmm2
movups xmmword [rdi + 0x10], xmm1
movaps xmm0, xmmword [rbp + 0x150]
movaps xmm1, xmmword [rbp + 0x160]
movaps xmm2, xmmword [rbp + 0x170]
movaps xmm3, xmmword [rbp + 0x180]
movups xmmword [r15 + rcx + 0x30], xmm3
movups xmmword [r15 + rcx + 0x20], xmm2
movups xmmword [r15 + rcx + 0x10], xmm1
movups xmmword [r15 + rcx], xmm0
movzx ecx, byte [rax - 2]
add rax, 0xfffffffffffffffe
not rcx
shl rcx, 6
movups xmm0, xmmword [rdi + 0x40]
movups xmm1, xmmword [rdi + 0x50]
movups xmm2, xmmword [rdi + 0x60]
movups xmm3, xmmword [rdi + 0x70]
movaps xmmword [rbp + 0x180], xmm3
movaps xmmword [rbp + 0x170], xmm2
movaps xmmword [rbp + 0x160], xmm1
movaps xmmword [rbp + 0x150], xmm0
movups xmm0, xmmword [r15 + rcx]
movups xmm1, xmmword [r15 + rcx + 0x10]
movups xmm2, xmmword [r15 + rcx + 0x20]
movups xmm3, xmmword [r15 + rcx + 0x30]
movups xmmword [rdi + 0x40], xmm0
movups xmmword [rdi + 0x70], xmm3
movups xmmword [rdi + 0x60], xmm2
movups xmmword [rdi + 0x50], xmm1
movaps xmm0, xmmword [rbp + 0x150]
movaps xmm1, xmmword [rbp + 0x160]
movaps xmm2, xmmword [rbp + 0x170]
movaps xmm3, xmmword [rbp + 0x180]
movups xmmword [r15 + rcx + 0x30], xmm3
movups xmmword [r15 + rcx + 0x20], xmm2
movups xmmword [r15 + rcx + 0x10], xmm1
movups xmmword [r15 + rcx], xmm0
sub rdi, 0xffffffffffffff80
cmp r13, rax
jb 0x1400d7800
mov rsi, rdi
nop word cs:[rax + rax]
sub rsi, qword [rbp + 0x128]
shr rsi, 6
add rsi, r9
movaps xmm0, xmmword [rbp + 0x30]
movaps xmm1, xmmword [rbp + 0x40]
movaps xmm2, xmmword [rbp + 0x50]
movaps xmm3, xmmword [rbp + 0x60]
mov r8, qword [rbp + 0x1a8]
movups xmmword [r8 + 0x30], xmm3
movups xmmword [r8 + 0x20], xmm2
movups xmmword [r8 + 0x10], xmm1
movups xmmword [r8], xmm0
mov rdx, qword [rbp + 0x130]
mov r14, rdx
sub r14, rsi
jbe 0x1400d7b3f
cmp qword [rbp + 0x148], r9
setbe byte [rbp + 0x1b0]
mov rax, rsi
shl rax, 6
lea rdi, [r8 + rax]
movups xmm0, xmmword [r8]
movups xmm1, xmmword [r8 + 0x10]
movups xmm2, xmmword [r8 + 0x20]
movups xmm3, xmmword [r8 + 0x30]
movaps xmmword [rbp + 0xd0], xmm3
movaps xmmword [rbp + 0xc0], xmm2
movaps xmmword [rbp + 0xb0], xmm1
movaps xmmword [rbp + 0xa0], xmm0
movups xmm0, xmmword [r8 + rax]
movups xmm1, xmmword [r8 + rax + 0x10]
movups xmm2, xmmword [r8 + rax + 0x20]
movups xmm3, xmmword [r8 + rax + 0x30]
movups xmmword [r8], xmm0
movups xmmword [r8 + 0x30], xmm3
movups xmmword [r8 + 0x20], xmm2
movups xmmword [r8 + 0x10], xmm1
movaps xmm0, xmmword [rbp + 0xa0]
movaps xmm1, xmmword [rbp + 0xb0]
movaps xmm2, xmmword [rbp + 0xc0]
movaps xmm3, xmmword [rbp + 0xd0]
movups xmmword [r8 + rax + 0x30], xmm3
movups xmmword [r8 + rax + 0x20], xmm2
movups xmmword [r8 + rax + 0x10], xmm1
movups xmmword [r8 + rax], xmm0
cmp rsi, r14
mov rcx, r14
cmovb rcx, rsi
shr rdx, 3
cmp rcx, rdx
setae byte [rbp + 0x190]
mov rdx, r8
lea r13, [r8 + rax]
add r13, 0x40
dec r14
cmp rsi, r14
jb 0x1400d7a8d
mov eax, dword [rbp + 0x19c]
mov dword [rsp + 0x20], eax
mov rcx, r13
mov rdx, r14
mov r8, qword [rbp + 0x138]
mov r9, rdi
call fcn.1400d6990
mov r13, qword [rbp + 0x1a8]
cmp rsi, 0x15
jae 0x1400d69f1
jmp 0x1400d7ac8
mov eax, dword [rbp + 0x19c]
mov dword [rsp + 0x20], eax
mov rcx, qword [rbp + 0x1a8]
mov rdx, rsi
mov r8, qword [rbp + 0x138]
mov r9, qword [rbp + 0x140]
call fcn.1400d6990
mov qword [rbp + 0x140], rdi
mov rsi, r14
cmp rsi, 0x15
jae 0x1400d69f1
mov rdx, rsi
mov qword [rbp + 0x1b8], r13
cmp rdx, 1
jbe 0x1400d7aea
mov r8d, 1
mov rcx, qword [rbp + 0x1b8]
call fcn.1400d6680
nop
add rsp, 0x248
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rcx, qword [rbp + 0x1b8]
mov rdx, rsi
mov r8, qword [rbp + 0x138]
call fcn.1401f5630
jmp 0x1400d7aea
lea r8, [0x14020b498]
mov rcx, r13
mov rdx, r14
call fcn.1401fc170
ud2
lea r8, [0x14020b510]
mov rcx, r13
mov rdx, r14
call fcn.1401fc170
ud2
lea r8, [0x14020b540]
mov rcx, rsi
call fcn.1401fc170
ud2
lea r8, [0x14020b4b0]
mov rcx, r15
mov rdx, r13
call fcn.1401fc580
ud2
lea r8, [0x14020b528]
mov rcx, qword [rbp + 0x148]
mov rdx, rsi
call fcn.1401fc600
jmp 0x1400d7b88
lea r8, [0x14020b528]
call fcn.1401fc680
ud2