Function at 0x14002a720
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x108
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x80], 0xfffffffffffffffe
mov qword [rbp + 0x50], r9
mov r12, r8
mov rsi, rdx
mov r15, rcx
cmp rdx, 0x21
mov qword [rbp + 0x48], r8
jae 0x14002a7c5
cmp rsi, 2
jb 0x14002b381
lea rax, [rsi + 0x10]
cmp rax, qword [rbp + 0x50]
ja 0x14002b3db
mov rax, rsi
shr rax, 1
mov qword [rbp + 0x50], rax
lea rax, [rax*8]
lea r9, [rax + rax*4]
lea r13, [r15 + r9]
add r9, r12
cmp rsi, 7
mov qword [rbp + 0x78], r9
jbe 0x14002ae1a
mov rcx, r15
mov rdx, r12
call fcn.140026af0
mov rcx, r13
mov rdx, qword [rbp + 0x78]
call fcn.140026af0
mov r9, qword [rbp + 0x78]
mov ecx, 4
jmp 0x14002ae57
mov rax, qword [rbp + 0xf8]
mov qword [rbp + 0x40], rax
mov edi, dword [rbp + 0xf0]
lea rax, [r12 - 0x28]
mov qword [rbp + 0x28], rax
mov qword [rbp + 0x78], rsi
mov qword [rbp + 0x70], r15
nop word [rax + rax]
sub edi, 1
jb 0x14002adfd
mov dword [rbp + 0x30], edi
mov rax, qword [rbp + 0x78]
mov r9, rax
shr r9, 3
lea r14, [r9 + r9*4]
shl r14, 5
add r14, r15
imul rdi, r9, 0x118
add rdi, r15
cmp rax, 0x40
jae 0x14002a8f0
mov rbx, qword [r15 + 0x18]
mov r12, qword [r14 + 0x18]
cmp rbx, r12
setb sil
jne 0x14002a862
mov rcx, qword [r15 + 8]
mov rax, qword [r15 + 0x10]
mov rdx, qword [r14 + 8]
mov r8, qword [r14 + 0x10]
mov rsi, rax
sub rsi, r8
cmovb r8, rax
call fcn.1400f1500
cdqe
test eax, eax
cmovne rsi, rax
shr rsi, 0x3f
mov r13, qword [rdi + 0x18]
cmp rbx, r13
setb r15b
jne 0x14002a89e
mov rax, qword [rbp + 0x70]
mov rcx, qword [rax + 8]
mov rax, qword [rax + 0x10]
mov rdx, qword [rdi + 8]
mov r8, qword [rdi + 0x10]
mov r15, rax
sub r15, r8
cmovb r8, rax
call fcn.1400f1500
cdqe
test eax, eax
cmovne r15, rax
shr r15, 0x3f
mov rax, qword [rbp + 0x70]
mov rbx, rax
cmp sil, r15b
mov r15, rax
jne 0x14002a901
cmp r12, r13
setb bl
jne 0x14002a8e0
mov rcx, qword [r14 + 8]
mov rax, qword [r14 + 0x10]
mov rdx, qword [rdi + 8]
mov r8, qword [rdi + 0x10]
mov rbx, rax
sub rbx, r8
cmovb r8, rax
call fcn.1400f1500
cdqe
test eax, eax
cmovne rbx, rax
shr rbx, 0x3f
xor sil, bl
cmovne r14, rdi
mov rbx, r14
jmp 0x14002a901
mov rcx, r15
mov rdx, r14
mov r8, rdi
call fcn.140026600
mov rbx, rax
mov rdx, rbx
sub rdx, r15
shr rdx, 3
movabs rax, 0xcccccccccccccccd
imul rdx, rax
mov rax, qword [rbx + 0x20]
mov qword [rbp - 0x30], rax
movups xmm0, xmmword [rbx]
movups xmm1, xmmword [rbx + 0x10]
movaps xmmword [rbp - 0x40], xmm1
movaps xmmword [rbp - 0x50], xmm0
cmp qword [rbp + 0x40], 0
mov r12, qword [rbp + 0x48]
mov rdi, qword [rbp + 0x78]
je 0x14002a996
mov rax, qword [rbx + 0x18]
mov rcx, qword [rbp + 0x40]
cmp qword [rcx + 0x18], rax
jne 0x14002a990
mov rax, rcx
mov rcx, qword [rcx + 8]
mov rax, qword [rax + 0x10]
mov r14, rdx
mov rdx, qword [rbx + 8]
mov r8, qword [rbx + 0x10]
mov rsi, rax
sub rsi, r8
cmovb r8, rax
call fcn.1400f1500
mov rdx, r14
cdqe
test eax, eax
cmovne rsi, rax
test rsi, rsi
js 0x14002a996
jmp 0x14002abe0
jae 0x14002abe0
cmp rdi, qword [rbp + 0x50]
ja 0x14002b3db
lea rax, [rdi + rdi*4]
mov qword [rbp + 0x58], rax
lea r14, [r12 + rax*8]
xor esi, esi
mov r13, r15
mov qword [rbp + 0x60], r14
mov qword [rbp + 0x68], rdx
mov rdi, rdx
nop dword [rax]
lea rax, [rdi + rdi*4]
lea r12, [r15 + rax*8]
jmp 0x14002aa0a
add r14, 0xffffffffffffffd8
test r15b, r15b
mov rax, r14
cmovne rax, qword [rbp + 0x48]
lea rcx, [rsi + rsi*4]
mov rdx, qword [r13 + 0x20]
mov qword [rax + rcx*8 + 0x20], rdx
movups xmm0, xmmword [r13]
movups xmm1, xmmword [r13 + 0x10]
movups xmmword [rax + rcx*8 + 0x10], xmm1
movups xmmword [rax + rcx*8], xmm0
movzx eax, r15b
add rsi, rax
add r13, 0x28
cmp r13, r12
jae 0x14002aa50
mov rax, qword [r13 + 0x18]
cmp rax, qword [rbx + 0x18]
setb r15b
jne 0x14002a9d0
mov rcx, qword [r13 + 8]
mov rax, qword [r13 + 0x10]
mov rdx, qword [rbx + 8]
mov r8, qword [rbx + 0x10]
mov r15, rax
sub r15, r8
cmovb r8, rax
call fcn.1400f1500
cdqe
test eax, eax
cmovne r15, rax
shr r15, 0x3f
jmp 0x14002a9d0
mov rax, qword [rbp + 0x78]
cmp rdi, rax
mov rdi, rax
je 0x14002aa90
lea rax, [rsi + rsi*4]
mov rcx, qword [r13 + 0x20]
mov qword [r14 + rax*8 - 8], rcx
movups xmm0, xmmword [r13]
movups xmm1, xmmword [r13 + 0x10]
movups xmmword [r14 + rax*8 - 0x18], xmm1
movups xmmword [r14 + rax*8 - 0x28], xmm0
add r14, 0xffffffffffffffd8
add r13, 0x28
mov r15, qword [rbp + 0x70]
jmp 0x14002a9c0
lea rax, [rsi*8]
lea r8, [rax + rax*4]
mov r15, qword [rbp + 0x70]
mov rcx, r15
mov rdx, qword [rbp + 0x48]
call fcn.1400f0e80
mov rcx, rdi
sub rcx, rsi
mov r14, qword [rbp + 0x60]
je 0x14002ab85
lea rax, [rsi + rsi*4]
lea rax, [r15 + rax*8]
lea rdx, [rsi + 1]
cmp rdi, rdx
movabs rdi, 0x1ffffffffffffffe
jne 0x14002aae0
xor r10d, r10d
jmp 0x14002ab53
mov rdx, rcx
and rdx, 0xfffffffffffffffe
mov r8, qword [rbp + 0x28]
mov r9, qword [rbp + 0x58]
lea r8, [r8 + r9*8]
mov r9, rax
xor r11d, r11d
nop dword [rax]
mov r10, qword [r8 + 0x20]
mov qword [r9 + 0x20], r10
movups xmm0, xmmword [r8]
movups xmm1, xmmword [r8 + 0x10]
movups xmmword [r9 + 0x10], xmm1
movups xmmword [r9], xmm0
lea r10, [r11 + 2]
xor r11, rdi
lea r11, [r11 + r11*4]
movups xmm0, xmmword [r14 + r11*8]
movups xmm1, xmmword [r14 + r11*8 + 0x10]
movups xmmword [r9 + 0x28], xmm0
movups xmmword [r9 + 0x38], xmm1
mov r11, qword [r14 + r11*8 + 0x20]
mov qword [r9 + 0x48], r11
add r9, 0x50
add r8, 0xffffffffffffffb0
mov r11, r10
cmp rdx, r10
jne 0x14002ab00
test cl, 1
mov rdi, qword [rbp + 0x78]
je 0x14002ab85
lea rcx, [r10 + r10*4]
not r10
lea rdx, [r10 + r10*4]
mov r8, qword [r14 + rdx*8 + 0x20]
mov qword [rax + rcx*8 + 0x20], r8
movups xmm0, xmmword [r14 + rdx*8]
movups xmm1, xmmword [r14 + rdx*8 + 0x10]
movups xmmword [rax + rcx*8 + 0x10], xmm1
movups xmmword [rax + rcx*8], xmm0
test rsi, rsi
mov r12, qword [rbp + 0x48]
mov rdx, qword [rbp + 0x68]
je 0x14002abe0
sub rdi, rsi
jb 0x14002b395
mov rdx, rdi
lea rax, [rsi + rsi*4]
lea rcx, [r15 + rax*8]
lea rax, [rbp - 0x50]
mov qword [rsp + 0x28], rax
mov edi, dword [rbp + 0x30]
mov dword [rsp + 0x20], edi
mov r8, r12
mov r9, qword [rbp + 0x50]
call fcn.14002a720
mov qword [rbp + 0x78], rsi
cmp rsi, 0x21
jae 0x14002a7f0
jmp 0x14002a75d
cmp rdi, qword [rbp + 0x50]
ja 0x14002b3db
lea rax, [rdi + rdi*4]
mov qword [rbp + 0x40], rax
lea rsi, [r12 + rax*8]
xor r14d, r14d
mov r13, r15
mov qword [rbp + 0x60], rsi
mov qword [rbp + 0x68], rdx
lea rax, [rdx + rdx*4]
lea rdi, [r15 + rax*8]
jmp 0x14002ac4d
mov eax, r15d
xor al, 1
add rsi, 0xffffffffffffffd8
test r15b, r15b
mov rcx, r12
cmovne rcx, rsi
lea rdx, [r14 + r14*4]
mov r8, qword [r13 + 0x20]
mov qword [rcx + rdx*8 + 0x20], r8
movups xmm0, xmmword [r13]
movups xmm1, xmmword [r13 + 0x10]
movups xmmword [rcx + rdx*8 + 0x10], xmm1
movups xmmword [rcx + rdx*8], xmm0
movzx eax, al
add r14, rax
add r13, 0x28
cmp r13, rdi
jae 0x14002ac90
mov rax, qword [rbx + 0x18]
cmp rax, qword [r13 + 0x18]
setb r15b
jne 0x14002ac10
mov rcx, qword [rbx + 8]
mov rax, qword [rbx + 0x10]
mov rdx, qword [r13 + 8]
mov r8, qword [r13 + 0x10]
mov r15, rax
sub r15, r8
cmovb r8, rax
call fcn.1400f1500
cdqe
test eax, eax
cmovne r15, rax
shr r15, 0x3f
jmp 0x14002ac10
mov rdi, qword [rbp + 0x78]
cmp qword [rbp + 0x68], rdi
je 0x14002ace0
add rsi, 0xffffffffffffffd8
lea rax, [r14 + r14*4]
mov rcx, qword [r13 + 0x20]
mov qword [r12 + rax*8 + 0x20], rcx
movups xmm0, xmmword [r13]
movups xmm1, xmmword [r13 + 0x10]
movups xmmword [r12 + rax*8 + 0x10], xmm1
movups xmmword [r12 + rax*8], xmm0
inc r14
add r13, 0x28
mov rdx, rdi
mov r15, qword [rbp + 0x70]
jmp 0x14002ac00
lea rax, [r14*8]
lea r8, [rax + rax*4]
mov r15, qword [rbp + 0x70]
mov rcx, r15
mov rdx, r12
call fcn.1400f0e80
mov rsi, rdi
sub rsi, r14
mov rdx, rdi
mov edi, dword [rbp + 0x30]
mov rbx, qword [rbp + 0x60]
je 0x14002add4
lea rax, [r14 + r14*4]
lea rax, [r15 + rax*8]
lea rcx, [r14 + 1]
cmp rdx, rcx
jne 0x14002ad27
xor r9d, r9d
jmp 0x14002ada1
mov rcx, rsi
and rcx, 0xfffffffffffffffe
mov rdx, qword [rbp + 0x28]
mov r8, qword [rbp + 0x40]
lea rdx, [rdx + r8*8]
mov r8, rax
xor r10d, r10d
movabs r11, 0x1ffffffffffffffe
nop word [rax + rax]
mov r9, qword [rdx + 0x20]
mov qword [r8 + 0x20], r9
movups xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [r8 + 0x10], xmm1
movups xmmword [r8], xmm0
lea r9, [r10 + 2]
xor r10, r11
lea r10, [r10 + r10*4]
movups xmm0, xmmword [rbx + r10*8]
movups xmm1, xmmword [rbx + r10*8 + 0x10]
movups xmmword [r8 + 0x28], xmm0
movups xmmword [r8 + 0x38], xmm1
mov r10, qword [rbx + r10*8 + 0x20]
mov qword [r8 + 0x48], r10
add r8, 0x50
add rdx, 0xffffffffffffffb0
mov r10, r9
cmp rcx, r9
jne 0x14002ad50
test sil, 1
mov rdx, qword [rbp + 0x78]
je 0x14002add4
lea rcx, [r9 + r9*4]
not r9
lea r9, [r9 + r9*4]
mov r8, qword [rbx + r9*8 + 0x20]
mov qword [rax + rcx*8 + 0x20], r8
movups xmm0, xmmword [rbx + r9*8]
movups xmm1, xmmword [rbx + r9*8 + 0x10]
movups xmmword [rax + rcx*8 + 0x10], xmm1
movups xmmword [rax + rcx*8], xmm0
cmp rdx, r14
jb 0x14002b3c7
lea rax, [r14 + r14*4]
lea r15, [r15 + rax*8]
mov eax, 0
mov qword [rbp + 0x40], rax
cmp rsi, 0x21
jae 0x14002a7df
jmp 0x14002a75d
mov byte [rsp + 0x20], 1
mov rcx, r15
mov rdx, qword [rbp + 0x78]
mov r8, r12
mov r9, qword [rbp + 0x50]
call fcn.140027e80
jmp 0x14002b381
mov rax, qword [r15 + 0x20]
mov qword [r12 + 0x20], rax
movups xmm0, xmmword [r15]
movups xmm1, xmmword [r15 + 0x10]
movups xmmword [r12 + 0x10], xmm1
movups xmmword [r12], xmm0
mov rax, qword [r13 + 0x20]
mov qword [r9 + 0x20], rax
movups xmm0, xmmword [r13]
movups xmm1, xmmword [r13 + 0x10]
movups xmmword [r9 + 0x10], xmm1
movups xmmword [r9], xmm0
mov ecx, 1
mov qword [rbp + 0x20], rsi
mov rax, qword [rbp + 0x50]
sub rsi, rax
mov qword [rbp + 0x40], rsi
lea rdx, [rcx + rcx*4]
mov qword [rbp + 0x18], rdx
mov qword [rbp + 0x38], rcx
cmp rcx, rax
mov qword [rbp + 0x70], r15
mov qword [rbp + 0x58], r13
jae 0x14002b033
mov rax, qword [rbp + 0x18]
lea rax, [rax*8 - 0x28]
mov qword [rbp + 0x60], rax
mov rax, qword [rbp + 0x38]
jmp 0x14002aed9
mov rbx, r15
mov r15, qword [rbp + 0x70]
mov r13, qword [rbp + 0x58]
mov rax, qword [rbp + 0x10]
mov qword [rbx], rax
mov rax, qword [rbp + 0x68]
mov qword [rbx + 8], rax
mov qword [rbx + 0x10], r12
mov qword [rbx + 0x18], rdi
mov rax, qword [rbp + 0x28]
mov qword [rbx + 0x20], rax
mov rax, qword [rbp + 0x30]
inc rax
add qword [rbp + 0x60], 0x28
cmp rax, qword [rbp + 0x50]
je 0x14002b033
mov qword [rbp + 0x30], rax
lea rax, [rax*8]
lea r14, [rax + rax*4]
mov rcx, qword [rbp + 0x48]
lea rbx, [rcx + r14]
movups xmm0, xmmword [r15 + r14]
movups xmm1, xmmword [r15 + r14 + 0x10]
movups xmmword [rcx + r14 + 0x10], xmm1
mov rax, qword [r15 + r14 + 0x20]
mov qword [rcx + r14 + 0x20], rax
movups xmmword [rcx + r14], xmm0
mov rdi, qword [rcx + r14 + 0x18]
cmp rdi, qword [rcx + r14 - 0x10]
jne 0x14002af60
mov rcx, qword [rbx + 8]
mov r12, qword [rbx + 0x10]
mov rdx, qword [rbx - 0x20]
mov r8, qword [rbx - 0x18]
mov rsi, r12
sub rsi, r8
cmovb r8, r12
mov qword [rbp + 0x68], rcx
call fcn.1400f1500
mov r9, qword [rbp + 0x78]
cdqe
test eax, eax
cmovne rsi, rax
test rsi, rsi
jns 0x14002aec3
jmp 0x14002af72
jae 0x14002aec3
mov rax, qword [rbx + 8]
mov qword [rbp + 0x68], rax
mov r12, qword [rbx + 0x10]
mov rcx, qword [rbp + 0x48]
add r14, rcx
add r14, 0xffffffffffffffd8
mov rax, qword [rbx]
mov qword [rbp + 0x10], rax
mov rax, qword [rbx + 0x20]
mov qword [rbp + 0x28], rax
movups xmm0, xmmword [r14]
movups xmm1, xmmword [r14 + 0x10]
movups xmmword [rbx], xmm0
movups xmmword [rbx + 0x10], xmm1
mov rax, qword [r14 + 0x20]
mov qword [rbx + 0x20], rax
mov rbx, rcx
cmp r14, rcx
je 0x14002aea4
mov r13, qword [rbp + 0x60]
mov r15, qword [rbp + 0x48]
jmp 0x14002aff2
jae 0x14002ae9c
add r14, 0xffffffffffffffd8
lea rax, [r15 + r13]
add rax, 0xffffffffffffffd8
mov rcx, qword [rax + 0x20]
mov qword [rbx + 0x20], rcx
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbx + 0x10], xmm1
movups xmmword [rbx], xmm0
add r13, 0xffffffffffffffd8
je 0x14002ae99
lea rbx, [r15 + r13]
cmp rdi, qword [r15 + r13 - 0x10]
jne 0x14002afc0
mov rdx, qword [r15 + r13 - 0x20]
mov r8, qword [r15 + r13 - 0x18]
mov rsi, r12
sub rsi, r8
cmovb r8, r12
mov rcx, qword [rbp + 0x68]
call fcn.1400f1500
mov r9, qword [rbp + 0x78]
cdqe
test eax, eax
cmovne rsi, rax
test rsi, rsi
js 0x14002afc6
mov rbx, r14
jmp 0x14002ae9c
mov r10, qword [rbp + 0x38]
cmp r10, qword [rbp + 0x40]
jae 0x14002b1e5
mov rax, qword [rbp + 0x18]
lea rbx, [rax*8 - 0x28]
jmp 0x14002b08a
mov r14, r9
mov r13, qword [rbp + 0x58]
mov r10, qword [rbp + 0x38]
mov rcx, qword [rbp + 0x60]
mov rax, qword [rbp + 0x30]
mov qword [r14], rax
mov rax, qword [rbp + 0x68]
mov qword [r14 + 8], rax
mov qword [r14 + 0x10], rdi
mov qword [r14 + 0x18], r15
mov qword [r14 + 0x20], rcx
inc r10
add rbx, 0x28
cmp r10, qword [rbp + 0x40]
je 0x14002b1e5
lea rax, [r10*8]
lea r12, [rax + rax*4]
lea r14, [r9 + r12]
movups xmm0, xmmword [r13 + r12]
movups xmm1, xmmword [r13 + r12 + 0x10]
movups xmmword [r9 + r12 + 0x10], xmm1
mov rax, qword [r13 + r12 + 0x20]
mov qword [r9 + r12 + 0x20], rax
movups xmmword [r9 + r12], xmm0
mov r15, qword [r9 + r12 + 0x18]
cmp r15, qword [r9 + r12 - 0x10]
jne 0x14002b110
mov rcx, qword [r14 + 8]
mov rdi, qword [r14 + 0x10]
mov rdx, qword [r14 - 0x20]
mov r8, qword [r14 - 0x18]
mov rsi, rdi
sub rsi, r8
cmovb r8, rdi
mov r13, r10
mov qword [rbp + 0x68], rcx
call fcn.1400f1500
mov r10, r13
mov r13, qword [rbp + 0x58]
mov r9, qword [rbp + 0x78]
cdqe
test eax, eax
cmovne rsi, rax
test rsi, rsi
jns 0x14002b079
jmp 0x14002b122
jae 0x14002b079
mov rax, qword [r14 + 8]
mov qword [rbp + 0x68], rax
mov rdi, qword [r14 + 0x10]
add r12, r9
add r12, 0xffffffffffffffd8
mov rax, qword [r14]
mov qword [rbp + 0x30], rax
mov rcx, qword [r14 + 0x20]
movups xmm0, xmmword [r12]
movups xmm1, xmmword [r12 + 0x10]
movups xmmword [r14], xmm0
movups xmmword [r14 + 0x10], xmm1
mov rax, qword [r12 + 0x20]
mov qword [r14 + 0x20], rax
mov r14, r9
cmp r12, r9
je 0x14002b05e
mov qword [rbp + 0x60], rcx
mov qword [rbp + 0x38], r10
mov r13, rbx
jmp 0x14002b1a4
jae 0x14002b052
add r12, 0xffffffffffffffd8
lea rax, [r9 + r13]
add rax, 0xffffffffffffffd8
mov rcx, qword [rax + 0x20]
mov qword [r14 + 0x20], rcx
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmmword [r14 + 0x10], xmm1
movups xmmword [r14], xmm0
add r13, 0xffffffffffffffd8
je 0x14002b04f
lea r14, [r9 + r13]
cmp r15, qword [r9 + r13 - 0x10]
jne 0x14002b170
mov rdx, qword [r9 + r13 - 0x20]
mov r8, qword [r9 + r13 - 0x18]
mov rsi, rdi
sub rsi, r8
cmovb r8, rdi
mov rcx, qword [rbp + 0x68]
call fcn.1400f1500
mov r9, qword [rbp + 0x78]
cdqe
test eax, eax
cmovne rsi, rax
test rsi, rsi
js 0x14002b176
mov r14, r12
jmp 0x14002b052
lea rbx, [r9 - 0x28]
mov rax, qword [rbp + 0x20]
lea rax, [rax + rax*4]
mov r15, qword [rbp + 0x48]
lea rdi, [r15 + rax*8]
add rdi, 0xffffffffffffffd8
mov r12, qword [rbp + 0x70]
lea r13, [r12 + rax*8]
add r13, 0xffffffffffffffd8
jmp 0x14002b27c
movzx eax, r14b
xor r14b, 1
lea rax, [rax + rax*4]
lea r9, [r9 + rax*8]
movzx eax, r14b
lea rax, [rax + rax*4]
lea r15, [r15 + rax*8]
add r12, 0x28
test sil, sil
mov rax, rdi
cmovne rax, rbx
mov rcx, qword [rax + 0x20]
mov qword [r13 + 0x20], rcx
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmmword [r13 + 0x10], xmm1
movups xmmword [r13], xmm0
movzx eax, sil
lea rcx, [rax + rax*4]
lea rdi, [rdi + rcx*8]
add rdi, 0xffffffffffffffd8
neg rax
lea rax, [rax + rax*4]
lea rbx, [rbx + rax*8]
add r13, 0xffffffffffffffd8
dec qword [rbp + 0x50]
je 0x14002b32a
mov rax, qword [r9 + 0x18]
cmp rax, qword [r15 + 0x18]
setb r14b
jne 0x14002b2bb
mov rcx, qword [r9 + 8]
mov rax, qword [r9 + 0x10]
mov rdx, qword [r15 + 8]
mov r8, qword [r15 + 0x10]
mov r14, rax
sub r14, r8
cmovb r8, rax
mov rsi, r9
call fcn.1400f1500
mov r9, rsi
cdqe
test eax, eax
cmovne r14, rax
shr r14, 0x3f
test r14b, r14b
mov rax, r15
cmovne rax, r9
mov rcx, qword [rax + 0x20]
mov qword [r12 + 0x20], rcx
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmmword [r12 + 0x10], xmm1
movups xmmword [r12], xmm0
mov rax, qword [rdi + 0x18]
cmp rax, qword [rbx + 0x18]
setb sil
jne 0x14002b210
mov rcx, qword [rdi + 8]
mov rax, qword [rdi + 0x10]
mov rdx, qword [rbx + 8]
mov r8, qword [rbx + 0x10]
mov rsi, rax
sub rsi, r8
cmovb r8, rax
mov qword [rbp + 0x78], r9
call fcn.1400f1500
mov r9, qword [rbp + 0x78]
cdqe
test eax, eax
cmovne rsi, rax
shr rsi, 0x3f
jmp 0x14002b210
add rbx, 0x28
test byte [rbp + 0x20], 1
je 0x14002b373
xor eax, eax
xor ecx, ecx
cmp r15, rbx
setae al
setb cl
mov rdx, r9
cmovb rdx, r15
mov r8, qword [rdx + 0x20]
mov qword [r12 + 0x20], r8
movups xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [r12 + 0x10], xmm1
movups xmmword [r12], xmm0
lea rcx, [rcx + rcx*4]
lea r15, [r15 + rcx*8]
lea rax, [rax + rax*4]
lea r9, [r9 + rax*8]
cmp r15, rbx
jne 0x14002b3d6
add rdi, 0x28
cmp r9, rdi
jne 0x14002b3d6
add rsp, 0x108
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
lea rax, [0x1400f80d8]
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], 1
mov qword [rbp - 0x10], 8
xorps xmm0, xmm0
movups xmmword [rbp - 8], xmm0
lea rdx, [0x1400f8188]
lea rcx, [rbp - 0x20]
call fcn.1400f47b0
lea r8, [0x1400f81a0]
mov rcx, r14
call fcn.1400f4bb0
call fcn.1400f4b70
ud2