Function at 0x140089710
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x108
mov r14, r9
mov rbp, r8
mov r15, rdx
mov rdi, rcx
cmp rdx, 0x21
jae 0x140089794
cmp r15, 2
jb 0x14008a78a
lea rax, [r15 + 0x10]
cmp rax, r14
ja 0x14008a79e
mov r13, r15
shr r13, 1
lea rax, [r13*8]
lea rbx, [rax + rax*8]
lea r14, [rdi + rbx]
add rbx, rbp
cmp r15, 7
mov qword [rsp + 0x50], rdi
jbe 0x14008a2fa
mov rcx, rdi
mov rdx, rbp
call case.0x140026bf9.507
mov rcx, r14
mov rdx, rbx
call case.0x140026bf9.507
mov edi, 4
jmp 0x14008a350
mov r13, qword [rsp + 0x178]
mov esi, dword [rsp + 0x170]
lea rax, [rbp - 0x48]
mov qword [rsp + 0x78], rax
mov ebx, 0xff
mov qword [rsp + 0x48], rbp
mov qword [rsp + 0x70], r14
mov rdx, r15
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x88], r13
nop dword [rax + rax]
sub esi, 1
jb 0x14008a2e2
mov dword [rsp + 0x6c], esi
mov r9, rdx
shr r9, 3
lea r15, [r9 + r9*8]
shl r15, 5
add r15, rdi
imul r13, r9, 0x1f8
add r13, rdi
mov qword [rsp + 0x40], rdx
cmp rdx, 0x40
jae 0x1400898a0
mov rcx, qword [rdi + 8]
mov r12, qword [rdi + 0x10]
mov rbp, qword [r15 + 8]
mov r8, qword [r15 + 0x10]
mov rsi, r12
sub rsi, r8
mov qword [rsp + 0x60], r8
cmovb r8, r12
mov r14, rcx
mov rdx, rbp
call fcn.140313000
cdqe
test eax, eax
cmovne rsi, rax
xor eax, eax
test rsi, rsi
setne al
cmovs eax, ebx
cmp al, 0xff
mov qword [rsp + 0x58], rbp
je 0x140089895
movzx eax, al
test eax, eax
jne 0x1400898c0
mov rcx, qword [rdi + 0x20]
mov rax, qword [rdi + 0x28]
mov rdx, qword [r15 + 0x20]
mov r8, qword [r15 + 0x28]
mov rsi, rax
sub rsi, r8
cmovb r8, rax
call fcn.140313000
cdqe
test eax, eax
cmovne rsi, rax
xor eax, eax
test rsi, rsi
setne al
cmovs eax, ebx
test al, al
je 0x1400898cb
movzx eax, al
cmp eax, 0xff
jne 0x1400898c0
mov al, 1
mov qword [rsp + 0x38], rax
jmp 0x140089900
mov rcx, rdi
mov rdx, r15
mov r8, r13
call fcn.1400883d0
mov r12, rax
jmp 0x140089abf
mov qword [rsp + 0x38], 0
jmp 0x140089900
mov rcx, qword [rdi + 0x38]
mov rax, qword [rdi + 0x40]
mov rdx, qword [r15 + 0x38]
mov r8, qword [r15 + 0x40]
mov rsi, rax
sub rsi, r8
cmovb r8, rax
call fcn.140313000
cdqe
test eax, eax
cmovne rsi, rax
shr rsi, 0x3f
mov qword [rsp + 0x38], rsi
nop dword [rax + rax]
mov rcx, r14
mov rdx, qword [r13 + 8]
mov rbp, qword [r13 + 0x10]
mov rsi, r12
sub rsi, rbp
cmovae r12, rbp
mov qword [rsp + 0x80], rdx
mov r8, r12
call fcn.140313000
cdqe
test eax, eax
cmovne rsi, rax
xor eax, eax
test rsi, rsi
setne al
cmovs eax, ebx
cmp al, 0xff
mov r14, qword [rsp + 0x70]
je 0x140089988
movzx eax, al
test eax, eax
jne 0x1400899a0
mov rcx, qword [rdi + 0x20]
mov rax, qword [rdi + 0x28]
mov rdx, qword [r13 + 0x20]
mov r8, qword [r13 + 0x28]
mov rsi, rax
sub rsi, r8
cmovb r8, rax
call fcn.140313000
cdqe
test eax, eax
cmovne rsi, rax
xor eax, eax
test rsi, rsi
setne al
cmovs eax, ebx
test al, al
je 0x1400899af
movzx eax, al
cmp eax, 0xff
jne 0x1400899a0
mov r12, rdi
cmp byte [rsp + 0x38], 0
jne 0x1400899f0
jmp 0x140089abf
mov r12, rdi
cmp byte [rsp + 0x38], 0
je 0x1400899f0
jmp 0x140089abf
mov rcx, qword [rdi + 0x38]
mov rax, qword [rdi + 0x40]
mov rdx, qword [r13 + 0x38]
mov r8, qword [r13 + 0x40]
mov rsi, rax
sub rsi, r8
cmovb r8, rax
call fcn.140313000
cdqe
test eax, eax
cmovne rsi, rax
test rsi, rsi
sets al
xor al, byte [rsp + 0x38]
mov r12, rdi
jne 0x140089abf
nop dword [rax]
mov rax, qword [rsp + 0x60]
mov rsi, rax
sub rsi, rbp
cmovb rbp, rax
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x80]
mov r8, rbp
call fcn.140313000
cdqe
test eax, eax
cmovne rsi, rax
xor eax, eax
test rsi, rsi
setne al
cmovs eax, ebx
cmp al, 0xff
je 0x140089a72
movzx eax, al
test eax, eax
jne 0x140089a77
mov rcx, qword [r15 + 0x20]
mov rax, qword [r15 + 0x28]
mov rdx, qword [r13 + 0x20]
mov r8, qword [r13 + 0x28]
mov rsi, rax
sub rsi, r8
cmovb r8, rax
call fcn.140313000
cdqe
test eax, eax
cmovne rsi, rax
xor eax, eax
test rsi, rsi
setne al
cmovs eax, ebx
test al, al
je 0x140089a7b
movzx eax, al
cmp eax, 0xff
jne 0x140089a77
mov sil, 1
jmp 0x140089ab0
xor esi, esi
jmp 0x140089ab0
mov rcx, qword [r15 + 0x38]
mov rax, qword [r15 + 0x40]
mov rdx, qword [r13 + 0x38]
mov r8, qword [r13 + 0x40]
mov rsi, rax
sub rsi, r8
cmovb r8, rax
call fcn.140313000
cdqe
test eax, eax
cmovne rsi, rax
shr rsi, 0x3f
nop word cs:[rax + rax]
mov rax, qword [rsp + 0x38]
xor al, sil
cmovne r15, r13
mov r12, r15
mov rcx, r12
sub rcx, rdi
shr rcx, 3
movabs rax, 0x8e38e38e38e38e39
imul rcx, rax
mov qword [rsp + 0x38], rcx
mov rax, qword [r12 + 0x40]
mov qword [rsp + 0x100], rax
movups xmm0, xmmword [r12]
movups xmm1, xmmword [r12 + 0x10]
movups xmm2, xmmword [r12 + 0x20]
movups xmm3, xmmword [r12 + 0x30]
movaps xmmword [rsp + 0xf0], xmm3
movaps xmmword [rsp + 0xe0], xmm2
movaps xmmword [rsp + 0xd0], xmm1
movaps xmmword [rsp + 0xc0], xmm0
mov r15, qword [rsp + 0x88]
test r15, r15
mov rbp, qword [rsp + 0x48]
je 0x140089c00
mov rcx, qword [r15 + 8]
mov rax, qword [r15 + 0x10]
mov rdx, qword [r12 + 8]
mov r8, qword [r12 + 0x10]
mov rsi, rax
sub rsi, r8
cmovb r8, rax
call fcn.140313000
cdqe
test eax, eax
cmovne rsi, rax
xor eax, eax
test rsi, rsi
setne al
cmovs eax, ebx
cmp al, 0xff
je 0x140089c00
movzx eax, al
test eax, eax
jne 0x140089f70
mov rcx, qword [r15 + 0x20]
mov rax, qword [r15 + 0x28]
mov rdx, qword [r12 + 0x20]
mov r8, qword [r12 + 0x28]
mov rsi, rax
sub rsi, r8
cmovb r8, rax
call fcn.140313000
cdqe
test eax, eax
cmovne rsi, rax
xor eax, eax
test rsi, rsi
setne al
cmovs eax, ebx
test al, al
je 0x140089bc4
movzx eax, al
cmp eax, 0xff
je 0x140089c00
jmp 0x140089f70
mov rcx, qword [r15 + 0x38]
mov rax, qword [r15 + 0x40]
mov rdx, qword [r12 + 0x38]
mov r8, qword [r12 + 0x40]
mov rsi, rax
sub rsi, r8
cmovb r8, rax
call fcn.140313000
cdqe
test eax, eax
cmovne rsi, rax
test rsi, rsi
jns 0x140089f70
nop word cs:[rax + rax]
mov rax, qword [rsp + 0x40]
cmp rax, r14
ja 0x14008a79e
lea rax, [rax + rax*8]
mov qword [rsp + 0x60], rax
lea r13, [rax*8]
add r13, rbp
mov qword [rsp + 0x58], r13
xor r15d, r15d
mov r14, qword [rsp + 0x38]
nop
lea rax, [r14 + r14*8]
mov rcx, qword [rsp + 0x50]
lea rbp, [rcx + rax*8]
jmp 0x140089c86
add r13, 0xffffffffffffffb8
mov sil, 1
mov rax, qword [rsp + 0x48]
lea rcx, [r15 + r15*8]
mov rdx, qword [rdi + 0x40]
mov qword [rax + rcx*8 + 0x40], rdx
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
movups xmm2, xmmword [rdi + 0x20]
movups xmm3, xmmword [rdi + 0x30]
movups xmmword [rax + rcx*8 + 0x30], xmm3
movups xmmword [rax + rcx*8 + 0x20], xmm2
movups xmmword [rax + rcx*8 + 0x10], xmm1
movups xmmword [rax + rcx*8], xmm0
movzx eax, sil
add r15, rax
add rdi, 0x48
cmp rdi, rbp
jae 0x140089d70
mov rcx, qword [rdi + 8]
mov rax, qword [rdi + 0x10]
mov rdx, qword [r12 + 8]
mov r8, qword [r12 + 0x10]
mov rsi, rax
sub rsi, r8
cmovb r8, rax
call fcn.140313000
cdqe
test eax, eax
cmovne rsi, rax
xor eax, eax
test rsi, rsi
setne al
cmovs eax, ebx
cmp al, 0xff
je 0x140089c40
movzx eax, al
test eax, eax
jne 0x140089d18
mov rcx, qword [rdi + 0x20]
mov rax, qword [rdi + 0x28]
mov rdx, qword [r12 + 0x20]
mov r8, qword [r12 + 0x28]
mov rsi, rax
sub rsi, r8
cmovb r8, rax
call fcn.140313000
cdqe
test eax, eax
cmovne rsi, rax
xor eax, eax
test rsi, rsi
setne al
cmovs eax, ebx
test al, al
je 0x140089d26
movzx eax, al
cmp eax, 0xff
je 0x140089c40
add r13, 0xffffffffffffffb8
xor esi, esi
mov rax, r13
jmp 0x140089c4c
mov rcx, qword [rdi + 0x38]
mov rax, qword [rdi + 0x40]
mov rdx, qword [r12 + 0x38]
mov r8, qword [r12 + 0x40]
mov rsi, rax
sub rsi, r8
cmovb r8, rax
call fcn.140313000
cdqe
test eax, eax
cmovne rsi, rax
add r13, 0xffffffffffffffb8
mov rax, qword [rsp + 0x48]
test rsi, rsi
js 0x140089d60
mov rax, r13
shr rsi, 0x3f
jmp 0x140089c4c
mov rsi, qword [rsp + 0x40]
cmp r14, rsi
je 0x140089dc0
lea rax, [r15 + r15*8]
mov rcx, qword [rdi + 0x40]
mov qword [r13 + rax*8 - 8], rcx
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
movups xmm2, xmmword [rdi + 0x20]
movups xmm3, xmmword [rdi + 0x30]
movups xmmword [r13 + rax*8 - 0x18], xmm3
movups xmmword [r13 + rax*8 - 0x28], xmm2
movups xmmword [r13 + rax*8 - 0x38], xmm1
movups xmmword [r13 + rax*8 - 0x48], xmm0
add r13, 0xffffffffffffffb8
add rdi, 0x48
mov r14, rsi
jmp 0x140089c30
lea rax, [r15*8]
lea r8, [rax + rax*8]
mov rdi, qword [rsp + 0x50]
mov rcx, rdi
mov rbp, qword [rsp + 0x48]
mov rdx, rbp
call fcn.1403125c0
mov rdx, rsi
sub rdx, r15
mov r14, qword [rsp + 0x70]
movabs rsi, 0x1ffffffffffffffe
je 0x140089f18
lea rax, [r15 + r15*8]
lea rax, [rdi + rax*8]
lea rcx, [r15 + 1]
cmp qword [rsp + 0x40], rcx
jne 0x140089e20
xor r10d, r10d
jmp 0x140089eca
mov rcx, rdx
and rcx, 0xfffffffffffffffe
mov r8, qword [rsp + 0x78]
mov r9, qword [rsp + 0x60]
lea r8, [r8 + r9*8]
mov r9, rax
xor r11d, r11d
mov r14, qword [rsp + 0x58]
mov r10, qword [r8 + 0x40]
mov qword [r9 + 0x40], r10
movups xmm0, xmmword [r8]
movups xmm1, xmmword [r8 + 0x10]
movups xmm2, xmmword [r8 + 0x20]
movups xmm3, xmmword [r8 + 0x30]
movups xmmword [r9 + 0x30], xmm3
movups xmmword [r9 + 0x20], xmm2
movups xmmword [r9 + 0x10], xmm1
movups xmmword [r9], xmm0
lea r10, [r11 + 2]
xor r11, rsi
lea r11, [r11 + r11*8]
movups xmm0, xmmword [r14 + r11*8]
movups xmm1, xmmword [r14 + r11*8 + 0x10]
movups xmm2, xmmword [r14 + r11*8 + 0x20]
movups xmm3, xmmword [r14 + r11*8 + 0x30]
movups xmmword [r9 + 0x48], xmm0
movups xmmword [r9 + 0x58], xmm1
movups xmmword [r9 + 0x68], xmm2
movups xmmword [r9 + 0x78], xmm3
mov r11, qword [r14 + r11*8 + 0x40]
mov qword [r9 + 0x88], r11
add r9, 0x90
add r8, 0xffffffffffffff70
mov r11, r10
cmp rcx, r10
jne 0x140089e40
test dl, 1
mov r14, qword [rsp + 0x70]
je 0x140089f18
lea rcx, [r10 + r10*8]
not r10
lea r8, [r10 + r10*8]
mov r10, qword [rsp + 0x58]
mov r9, qword [r10 + r8*8 + 0x40]
mov qword [rax + rcx*8 + 0x40], r9
movups xmm0, xmmword [r10 + r8*8]
movups xmm1, xmmword [r10 + r8*8 + 0x10]
movups xmm2, xmmword [r10 + r8*8 + 0x20]
movups xmm3, xmmword [r10 + r8*8 + 0x30]
movups xmmword [rax + rcx*8 + 0x30], xmm3
movups xmmword [rax + rcx*8 + 0x20], xmm2
movups xmmword [rax + rcx*8 + 0x10], xmm1
movups xmmword [rax + rcx*8], xmm0
test r15, r15
je 0x140089f70
cmp qword [rsp + 0x40], r15
jb 0x14008a7a0
lea rax, [r15 + r15*8]
lea rcx, [rdi + rax*8]
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x28], rax
mov esi, dword [rsp + 0x6c]
mov dword [rsp + 0x20], esi
mov r8, rbp
mov r9, r14
call fcn.140089710
mov rdx, r15
cmp r15, 0x21
jae 0x1400897d0
jmp 0x140089735
mov rax, qword [rsp + 0x40]
cmp rax, r14
ja 0x14008a79e
lea rax, [rax + rax*8]
mov qword [rsp + 0x60], rax
lea rax, [rax*8]
add rax, rbp
xor r13d, r13d
mov r15, rdi
mov qword [rsp + 0x58], rax
mov rdi, rax
mov rdx, qword [rsp + 0x38]
nop word cs:[rax + rax]
mov qword [rsp + 0x38], rdx
lea rax, [rdx + rdx*8]
mov rcx, qword [rsp + 0x50]
lea r14, [rcx + rax*8]
jmp 0x14008a01d
add rdi, 0xffffffffffffffb8
mov al, 1
mov rcx, rbp
lea rdx, [r13*8]
add rdx, r13
mov r8, qword [r15 + 0x40]
mov qword [rcx + rdx*8 + 0x40], r8
movups xmm0, xmmword [r15]
movups xmm1, xmmword [r15 + 0x10]
movups xmm2, xmmword [r15 + 0x20]
movups xmm3, xmmword [r15 + 0x30]
movups xmmword [rcx + rdx*8 + 0x30], xmm3
movups xmmword [rcx + rdx*8 + 0x20], xmm2
movups xmmword [rcx + rdx*8 + 0x10], xmm1
movups xmmword [rcx + rdx*8], xmm0
movzx eax, al
add r13, rax
add r15, 0x48
cmp r15, r14
jae 0x14008a100
mov rcx, qword [r12 + 8]
mov rax, qword [r12 + 0x10]
mov rdx, qword [r15 + 8]
mov r8, qword [r15 + 0x10]
mov rsi, rax
sub rsi, r8
cmovb r8, rax
call fcn.140313000
cdqe
test eax, eax
cmovne rsi, rax
xor eax, eax
test rsi, rsi
setne al
cmovs eax, ebx
cmp al, 0xff
je 0x14008a0af
movzx eax, al
test eax, eax
jne 0x140089fd0
mov rcx, qword [r12 + 0x20]
mov rax, qword [r12 + 0x28]
mov rdx, qword [r15 + 0x20]
mov r8, qword [r15 + 0x28]
mov rsi, rax
sub rsi, r8
cmovb r8, rax
call fcn.140313000
cdqe
test eax, eax
cmovne rsi, rax
xor eax, eax
test rsi, rsi
setne al
cmovs eax, ebx
test al, al
je 0x14008a0bd
movzx eax, al
cmp eax, 0xff
jne 0x140089fd0
add rdi, 0xffffffffffffffb8
xor eax, eax
mov rcx, rdi
jmp 0x140089fd9
mov rcx, qword [r12 + 0x38]
mov rax, qword [r12 + 0x40]
mov rdx, qword [r15 + 0x38]
mov r8, qword [r15 + 0x40]
mov rsi, rax
sub rsi, r8
cmovb r8, rax
call fcn.140313000
cdqe
test eax, eax
cmovne rsi, rax
add rdi, 0xffffffffffffffb8
mov rcx, rbp
test rsi, rsi
setns al
jns 0x140089fd9
jmp 0x14008a0b5
mov rdx, qword [rsp + 0x40]
cmp qword [rsp + 0x38], rdx
je 0x14008a160
add rdi, 0xffffffffffffffb8
lea rax, [r13*8]
add rax, r13
mov rcx, qword [r15 + 0x40]
mov qword [rbp + rax*8 + 0x40], rcx
movups xmm0, xmmword [r15]
movups xmm1, xmmword [r15 + 0x10]
movups xmm2, xmmword [r15 + 0x20]
movups xmm3, xmmword [r15 + 0x30]
movups xmmword [rbp + rax*8 + 0x30], xmm3
movups xmmword [rbp + rax*8 + 0x20], xmm2
movups xmmword [rbp + rax*8 + 0x10], xmm1
movups xmmword [rbp + rax*8], xmm0
inc r13
add r15, 0x48
jmp 0x140089fb0
lea rax, [r13*8]
lea r8, [rax + rax*8]
mov rdi, qword [rsp + 0x50]
mov rcx, rdi
mov rdx, rbp
call fcn.1403125c0
mov rdx, qword [rsp + 0x40]
mov r15, rdx
sub r15, r13
mov r14, qword [rsp + 0x70]
mov esi, dword [rsp + 0x6c]
mov r12, qword [rsp + 0x58]
je 0x14008a2b5
lea rax, [r13*8]
add rax, r13
lea rax, [rdi + rax*8]
lea rcx, [r13 + 1]
cmp rdx, rcx
jne 0x14008a1bb
xor r9d, r9d
jmp 0x14008a266
mov rcx, r15
and rcx, 0xfffffffffffffffe
mov rdx, qword [rsp + 0x78]
mov r8, qword [rsp + 0x60]
lea rdx, [rdx + r8*8]
mov r8, rax
xor r10d, r10d
movabs r11, 0x1ffffffffffffffe
mov r9, qword [rdx + 0x40]
mov qword [r8 + 0x40], r9
movups xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 0x10]
movups xmm2, xmmword [rdx + 0x20]
movups xmm3, xmmword [rdx + 0x30]
movups xmmword [r8 + 0x30], xmm3
movups xmmword [r8 + 0x20], xmm2
movups xmmword [r8 + 0x10], xmm1
movups xmmword [r8], xmm0
lea r9, [r10 + 2]
xor r10, r11
lea r10, [r10 + r10*8]
movups xmm0, xmmword [r12 + r10*8]
movups xmm1, xmmword [r12 + r10*8 + 0x10]
movups xmm2, xmmword [r12 + r10*8 + 0x20]
movups xmm3, xmmword [r12 + r10*8 + 0x30]
movups xmmword [r8 + 0x48], xmm0
movups xmmword [r8 + 0x58], xmm1
movups xmmword [r8 + 0x68], xmm2
movups xmmword [r8 + 0x78], xmm3
mov r10, qword [r12 + r10*8 + 0x40]
mov qword [r8 + 0x88], r10
add r8, 0x90
add rdx, 0xffffffffffffff70
mov r10, r9
cmp rcx, r9
jne 0x14008a1e0
test r15b, 1
mov rdx, qword [rsp + 0x40]
je 0x14008a2b5
lea rcx, [r9 + r9*8]
not r9
lea rdx, [r9 + r9*8]
mov r8, qword [r12 + rdx*8 + 0x40]
mov qword [rax + rcx*8 + 0x40], r8
movups xmm0, xmmword [r12 + rdx*8]
movups xmm1, xmmword [r12 + rdx*8 + 0x10]
movups xmm2, xmmword [r12 + rdx*8 + 0x20]
movups xmm3, xmmword [r12 + rdx*8 + 0x30]
mov rdx, qword [rsp + 0x40]
movups xmmword [rax + rcx*8 + 0x30], xmm3
movups xmmword [rax + rcx*8 + 0x20], xmm2
movups xmmword [rax + rcx*8 + 0x10], xmm1
movups xmmword [rax + rcx*8], xmm0
cmp rdx, r13
jb 0x14008a7e6
lea rax, [r13*8]
add rax, r13
lea rdi, [rdi + rax*8]
mov r13d, 0
cmp r15, 0x21
jae 0x1400897bb
jmp 0x140089735
mov byte [rsp + 0x20], 1
mov rcx, rdi
mov r8, rbp
mov r9, r14
call fcn.1400859b0
jmp 0x14008a78a
mov rax, qword [rdi + 0x40]
mov qword [rbp + 0x40], rax
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
movups xmm2, xmmword [rdi + 0x20]
movups xmm3, xmmword [rdi + 0x30]
movups xmmword [rbp + 0x30], xmm3
movups xmmword [rbp + 0x20], xmm2
movups xmmword [rbp + 0x10], xmm1
movups xmmword [rbp], xmm0
mov rax, qword [r14 + 0x40]
mov qword [rbx + 0x40], rax
movups xmm0, xmmword [r14]
movups xmm1, xmmword [r14 + 0x10]
movups xmm2, xmmword [r14 + 0x20]
movups xmm3, xmmword [r14 + 0x30]
movups xmmword [rbx + 0x30], xmm3
movups xmmword [rbx + 0x20], xmm2
movups xmmword [rbx + 0x10], xmm1
movups xmmword [rbx], xmm0
mov edi, 1
mov rax, r15
sub rax, r13
mov qword [rsp + 0x48], rax
mov r14, r13
sub r14, rdi
mov rsi, qword [rsp + 0x50]
jbe 0x14008a3ce
lea eax, [rdi*8]
lea r12, [rax + rax*8]
nop word cs:[rax + rax]
lea rdx, [r12 + rbp]
mov rax, qword [rsi + r12 + 0x40]
mov qword [rbp + r12 + 0x40], rax
movups xmm0, xmmword [rsi + r12]
movups xmm1, xmmword [rsi + r12 + 0x10]
movups xmm2, xmmword [rsi + r12 + 0x20]
movups xmm3, xmmword [rsi + r12 + 0x30]
movups xmmword [rbp + r12 + 0x30], xmm3
movups xmmword [rbp + r12 + 0x20], xmm2
movups xmmword [rbp + r12 + 0x10], xmm1
movups xmmword [rbp + r12], xmm0
mov rcx, rbp
call fcn.1400841f0
add r12, 0x48
dec r14
jne 0x14008a380
cmp rdi, qword [rsp + 0x48]
jae 0x14008a457
lea rax, [r13*8]
add rax, r13
lea r14, [rax*8]
add r14, rbp
lea rcx, [rdi + rdi*8]
shl rax, 3
lea rsi, [rax + rcx*8]
lea r12, [rsi + rbp]
add rsi, qword [rsp + 0x50]
add rdi, r13
sub rdi, r15
nop word [rax + rax]
mov rax, qword [rsi + 0x40]
mov qword [r12 + 0x40], rax
movups xmm0, xmmword [rsi]
movups xmm1, xmmword [rsi + 0x10]
movups xmm2, xmmword [rsi + 0x20]
movups xmm3, xmmword [rsi + 0x30]
movups xmmword [r12 + 0x30], xmm3
movups xmmword [r12 + 0x20], xmm2
movups xmmword [r12 + 0x10], xmm1
movups xmmword [r12], xmm0
mov rcx, r14
mov rdx, r12
call fcn.1400841f0
add r12, 0x48
add rsi, 0x48
inc rdi
jne 0x14008a410
lea r12, [rbx - 0x48]
lea rax, [r15 + r15*8]
lea r14, [rax*8 - 0x48]
add r14, rbp
mov r8, rbp
mov r10, qword [rsp + 0x50]
lea rbp, [r10 + rax*8]
add rbp, 0xffffffffffffffb8
jmp 0x14008a506
ud2
lea rax, str.mid___len
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x98], 1
mov qword [rsp + 0xa0], 8
add byte [rax], al
or byte [rax], al
add byte [rax], al