1402270d3:	4d 85 ed             	test   %r13,%r13
1402270d6:	0f 8f 7a ff ff ff    	jg     0x140227056
1402270dc:	4c 8b 7d 38          	mov    0x38(%rbp),%r15
1402270e0:	49 83 fc 02          	cmp    $0x2,%r12
1402270e4:	0f 8c a9 01 00 00    	jl     0x140227293
1402270ea:	49 c7 c5 f8 ff ff ff 	mov    $0xfffffffffffffff8,%r13
1402270f1:	49 83 c7 f8          	add    $0xfffffffffffffff8,%r15
1402270f5:	4c 2b ee             	sub    %rsi,%r13
1402270f8:	41 bc 08 00 00 00    	mov    $0x8,%r12d
1402270fe:	4c 2b e6             	sub    %rsi,%r12
140227101:	49 8b 47 f8          	mov    -0x8(%r15),%rax
140227105:	49 83 67 f8 00       	andq   $0x0,-0x8(%r15)
14022710a:	48 89 45 f0          	mov    %rax,-0x10(%rbp)
14022710e:	49 8b 07             	mov    (%r15),%rax
140227111:	49 83 27 00          	andq   $0x0,(%r15)
140227115:	48 8b 4e 08          	mov    0x8(%rsi),%rcx
140227119:	48 83 66 08 00       	andq   $0x0,0x8(%rsi)
14022711e:	48 89 45 f8          	mov    %rax,-0x8(%rbp)
140227122:	48 8b 06             	mov    (%rsi),%rax
140227125:	48 83 26 00          	andq   $0x0,(%rsi)
140227129:	49 8b 3f             	mov    (%r15),%rdi
14022712c:	49 89 47 f8          	mov    %rax,-0x8(%r15)
140227130:	49 89 0f             	mov    %rcx,(%r15)
140227133:	48 85 ff             	test   %rdi,%rdi
140227136:	74 39                	je     0x140227171
140227138:	41 8b c6             	mov    %r14d,%eax
14022713b:	f0 0f c1 47 08       	lock xadd %eax,0x8(%rdi)
140227140:	41 03 c6             	add    %r14d,%eax
140227143:	75 2c                	jne    0x140227171
140227145:	48 8b 07             	mov    (%rdi),%rax
140227148:	48 8b cf             	mov    %rdi,%rcx
14022714b:	48 8b 00             	mov    (%rax),%rax
14022714e:	ff 15 e4 5a 8e 00    	call   *0x8e5ae4(%rip)        # 0x140b0cc38
140227154:	41 8b c6             	mov    %r14d,%eax
140227157:	f0 0f c1 47 0c       	lock xadd %eax,0xc(%rdi)
14022715c:	41 03 c6             	add    %r14d,%eax
14022715f:	75 10                	jne    0x140227171
140227161:	48 8b 07             	mov    (%rdi),%rax
140227164:	48 8b cf             	mov    %rdi,%rcx
140227167:	48 8b 40 08          	mov    0x8(%rax),%rax
14022716b:	ff 15 c7 5a 8e 00    	call   *0x8e5ac7(%rip)        # 0x140b0cc38
140227171:	4f 8d 04 2f          	lea    (%r15,%r13,1),%r8
140227175:	88 5c 24 20          	mov    %bl,0x20(%rsp)
140227179:	49 c1 f8 04          	sar    $0x4,%r8
14022717d:	4c 8d 4d f0          	lea    -0x10(%rbp),%r9
140227181:	33 d2                	xor    %edx,%edx
140227183:	48 8b ce             	mov    %rsi,%rcx
140227186:	e8 a1 10 00 00       	call   0x14022822c
14022718b:	48 8b 4d f8          	mov    -0x8(%rbp),%rcx
14022718f:	48 85 c9             	test   %rcx,%rcx
140227192:	74 3e                	je     0x1402271d2
140227194:	41 8b c6             	mov    %r14d,%eax
140227197:	f0 0f c1 41 08       	lock xadd %eax,0x8(%rcx)
14022719c:	41 03 c6             	add    %r14d,%eax
14022719f:	75 31                	jne    0x1402271d2
1402271a1:	48 8b 7d f8          	mov    -0x8(%rbp),%rdi
1402271a5:	48 8b cf             	mov    %rdi,%rcx
1402271a8:	48 8b 07             	mov    (%rdi),%rax
1402271ab:	48 8b 00             	mov    (%rax),%rax
1402271ae:	ff 15 84 5a 8e 00    	call   *0x8e5a84(%rip)        # 0x140b0cc38
1402271b4:	41 8b c6             	mov    %r14d,%eax
1402271b7:	f0 0f c1 47 0c       	lock xadd %eax,0xc(%rdi)
1402271bc:	41 03 c6             	add    %r14d,%eax
1402271bf:	75 11                	jne    0x1402271d2
1402271c1:	48 8b 4d f8          	mov    -0x8(%rbp),%rcx
1402271c5:	48 8b 01             	mov    (%rcx),%rax
1402271c8:	48 8b 40 08          	mov    0x8(%rax),%rax
1402271cc:	ff 15 66 5a 8e 00    	call   *0x8e5a66(%rip)        # 0x140b0cc38
1402271d2:	49 83 ef 10          	sub    $0x10,%r15
1402271d6:	4b 8d 04 27          	lea    (%r15,%r12,1),%rax
1402271da:	48 83 e0 f0          	and    $0xfffffffffffffff0,%rax
1402271de:	48 83 f8 20          	cmp    $0x20,%rax
1402271e2:	0f 8d 19 ff ff ff    	jge    0x140227101
1402271e8:	e9 a6 00 00 00       	jmp    0x140227293
1402271ed:	0f 57 c0             	xorps  %xmm0,%xmm0
1402271f0:	0f 2e 05 15 9e 98 00 	ucomiss 0x989e15(%rip),%xmm0        # 0x140bb100c
1402271f7:	7a 0a                	jp     0x140227203
1402271f9:	75 08                	jne    0x140227203
1402271fb:	41 0f 2f 54 24 04    	comiss 0x4(%r12),%xmm2
140227201:	eb 09                	jmp    0x14022720c
140227203:	f3 0f 10 00          	movss  (%rax),%xmm0
140227207:	41 0f 2f 04 24       	comiss (%r12),%xmm0
14022720c:	0f 97 c0             	seta   %al
14022720f:	48 8b df             	mov    %rdi,%rbx
140227212:	84 c0                	test   %al,%al
140227214:	0f 84 97 00 00 00    	je     0x1402272b1
14022721a:	48 3b fe             	cmp    %rsi,%rdi
14022721d:	74 14                	je     0x140227233
14022721f:	48 8b cb             	mov    %rbx,%rcx
140227222:	48 83 eb 10          	sub    $0x10,%rbx
140227226:	48 8b d3             	mov    %rbx,%rdx
140227229:	e8 b6 f0 dd ff       	call   0x1400062e4
14022722e:	48 3b de             	cmp    %rsi,%rbx
140227231:	75 ec                	jne    0x14022721f
140227233:	48 8b ce             	mov    %rsi,%rcx
140227236:	48 8d 55 f0          	lea    -0x10(%rbp),%rdx
14022723a:	e8 a5 f0 dd ff       	call   0x1400062e4
14022723f:	48 8b 4d f8          	mov    -0x8(%rbp),%rcx
140227243:	48 85 c9             	test   %rcx,%rcx
140227246:	74 3e                	je     0x140227286
140227248:	41 8b c6             	mov    %r14d,%eax
14022724b:	f0 0f c1 41 08       	lock xadd %eax,0x8(%rcx)
140227250:	41 03 c6             	add    %r14d,%eax
140227253:	75 31                	jne    0x140227286
140227255:	48 8b 5d f8          	mov    -0x8(%rbp),%rbx
140227259:	48 8b cb             	mov    %rbx,%rcx
14022725c:	48 8b 03             	mov    (%rbx),%rax
14022725f:	48 8b 00             	mov    (%rax),%rax
140227262:	ff 15 d0 59 8e 00    	call   *0x8e59d0(%rip)        # 0x140b0cc38
140227268:	41 8b c6             	mov    %r14d,%eax
14022726b:	f0 0f c1 43 0c       	lock xadd %eax,0xc(%rbx)
140227270:	41 03 c6             	add    %r14d,%eax
140227273:	75 11                	jne    0x140227286
140227275:	48 8b 4d f8          	mov    -0x8(%rbp),%rcx
140227279:	48 8b 01             	mov    (%rcx),%rax
14022727c:	48 8b 40 08          	mov    0x8(%rax),%rax
140227280:	ff 15 b2 59 8e 00    	call   *0x8e59b2(%rip)        # 0x140b0cc38
140227286:	48 83 c7 10          	add    $0x10,%rdi
14022728a:	49 3b ff             	cmp    %r15,%rdi
14022728d:	0f 85 4c fd ff ff    	jne    0x140226fdf
140227293:	4c 8d 5c 24 40       	lea    0x40(%rsp),%r11
140227298:	49 8b 5b 30          	mov    0x30(%r11),%rbx
14022729c:	49 8b 73 40          	mov    0x40(%r11),%rsi
1402272a0:	49 8b 7b 48          	mov    0x48(%r11),%rdi
1402272a4:	49 8b e3             	mov    %r11,%rsp
1402272a7:	41 5f                	pop    %r15
1402272a9:	41 5e                	pop    %r14
1402272ab:	41 5d                	pop    %r13
1402272ad:	41 5c                	pop    %r12
1402272af:	5d                   	pop    %rbp
1402272b0:	c3                   	ret
1402272b1:	f3 41 0f 10 4c 24 04 	movss  0x4(%r12),%xmm1
1402272b8:	48 83 eb 10          	sub    $0x10,%rbx
1402272bc:	f3 41 0f 10 44 24 0c 	movss  0xc(%r12),%xmm0
1402272c3:	48 8b 03             	mov    (%rbx),%rax
1402272c6:	f3 0f 10 50 04       	movss  0x4(%rax),%xmm2
1402272cb:	f3 0f 5d 40 0c       	minss  0xc(%rax),%xmm0
1402272d0:	f3 0f 5f ca          	maxss  %xmm2,%xmm1
1402272d4:	0f 2f c1             	comiss %xmm1,%xmm0
1402272d7:	76 06                	jbe    0x1402272df
1402272d9:	f3 0f 5c c1          	subss  %xmm1,%xmm0
1402272dd:	eb 03                	jmp    0x1402272e2
1402272df:	0f 57 c0             	xorps  %xmm0,%xmm0
1402272e2:	0f 2e 05 23 9d 98 00 	ucomiss 0x989d23(%rip),%xmm0        # 0x140bb100c
1402272e9:	7a 0a                	jp     0x1402272f5
1402272eb:	75 08                	jne    0x1402272f5
1402272ed:	41 0f 2f 54 24 04    	comiss 0x4(%r12),%xmm2
1402272f3:	eb 09                	jmp    0x1402272fe
1402272f5:	f3 0f 10 00          	movss  (%rax),%xmm0
1402272f9:	41 0f 2f 04 24       	comiss (%r12),%xmm0
1402272fe:	0f 97 c0             	seta   %al
140227301:	84 c0                	test   %al,%al
140227303:	0f 84 2d ff ff ff    	je     0x140227236
140227309:	48 8b d3             	mov    %rbx,%rdx
14022730c:	e8 d3 ef dd ff       	call   0x1400062e4
140227311:	48 8b cb             	mov    %rbx,%rcx
140227314:	eb 9b                	jmp    0x1402272b1
140227316:	cc                   	int3
140227317:	90                   	nop
140227318:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
14022731d:	53                   	push   %rbx
14022731e:	56                   	push   %rsi
14022731f:	57                   	push   %rdi
140227320:	41 54                	push   %r12
140227322:	41 55                	push   %r13
140227324:	41 56                	push   %r14
140227326:	41 57                	push   %r15
140227328:	48 83 ec 30          	sub    $0x30,%rsp
14022732c:	48 8b fa             	mov    %rdx,%rdi
14022732f:	48 8b f1             	mov    %rcx,%rsi
140227332:	4c 8b ca             	mov    %rdx,%r9
140227335:	4c 2b 09             	sub    (%rcx),%r9
140227338:	48 b8 ab aa aa aa aa 	movabs $0x2aaaaaaaaaaaaaab,%rax
14022733f:	aa aa 2a
140227342:	49 f7 e9             	imul   %r9
140227345:	4c 8b f2             	mov    %rdx,%r14
140227348:	49 c1 fe 02          	sar    $0x2,%r14
14022734c:	49 8b c6             	mov    %r14,%rax
14022734f:	48 c1 e8 3f          	shr    $0x3f,%rax
140227353:	4c 03 f0             	add    %rax,%r14
140227356:	48 8b 41 08          	mov    0x8(%rcx),%rax
14022735a:	48 2b 01             	sub    (%rcx),%rax
14022735d:	48 c1 f8 03          	sar    $0x3,%rax
140227361:	48 ba ab aa aa aa aa 	movabs $0xaaaaaaaaaaaaaaab,%rdx
140227368:	aa aa aa
14022736b:	48 0f af c2          	imul   %rdx,%rax
14022736f:	49 b9 aa aa aa aa aa 	movabs $0xaaaaaaaaaaaaaaa,%r9
140227376:	aa aa 0a
140227379:	49 3b c1             	cmp    %r9,%rax
14022737c:	0f 84 4d 02 00 00    	je     0x1402275cf
140227382:	4c 8d 60 01          	lea    0x1(%rax),%r12
140227386:	48 8b 49 10          	mov    0x10(%rcx),%rcx
14022738a:	48 2b 0e             	sub    (%rsi),%rcx
14022738d:	48 c1 f9 03          	sar    $0x3,%rcx
140227391:	48 0f af ca          	imul   %rdx,%rcx
140227395:	48 8b d1             	mov    %rcx,%rdx
140227398:	48 d1 ea             	shr    $1,%rdx
14022739b:	49 8b c1             	mov    %r9,%rax
14022739e:	48 2b c2             	sub    %rdx,%rax
1402273a1:	48 3b c8             	cmp    %rax,%rcx
1402273a4:	76 05                	jbe    0x1402273ab
1402273a6:	49 8b c1             	mov    %r9,%rax
1402273a9:	eb 0b                	jmp    0x1402273b6
1402273ab:	48 8d 04 11          	lea    (%rcx,%rdx,1),%rax
1402273af:	49 3b c4             	cmp    %r12,%rax
1402273b2:	49 0f 42 c4          	cmovb  %r12,%rax
1402273b6:	48 89 84 24 88 00 00 	mov    %rax,0x88(%rsp)
1402273bd:	00
1402273be:	49 3b c1             	cmp    %r9,%rax
1402273c1:	0f 87 02 02 00 00    	ja     0x1402275c9
1402273c7:	48 8d 04 40          	lea    (%rax,%rax,2),%rax
1402273cb:	4c 8d 3c c5 00 00 00 	lea    0x0(,%rax,8),%r15
1402273d2:	00
1402273d3:	4d 85 ff             	test   %r15,%r15
1402273d6:	75 09                	jne    0x1402273e1
1402273d8:	33 db                	xor    %ebx,%ebx
1402273da:	48 89 5c 24 78       	mov    %rbx,0x78(%rsp)
1402273df:	eb 59                	jmp    0x14022743a
1402273e1:	49 81 ff 00 10 00 00 	cmp    $0x1000,%r15
1402273e8:	72 2b                	jb     0x140227415
1402273ea:	49 8d 4f 27          	lea    0x27(%r15),%rcx
1402273ee:	49 3b cf             	cmp    %r15,%rcx
1402273f1:	0f 86 d2 01 00 00    	jbe    0x1402275c9
1402273f7:	ff 15 cb 54 8e 00    	call   *0x8e54cb(%rip)        # 0x140b0c8c8
1402273fd:	48 85 c0             	test   %rax,%rax
140227400:	74 24                	je     0x140227426
140227402:	48 8d 58 27          	lea    0x27(%rax),%rbx
140227406:	48 83 e3 e0          	and    $0xffffffffffffffe0,%rbx
14022740a:	48 89 43 f8          	mov    %rax,-0x8(%rbx)
14022740e:	48 89 5c 24 78       	mov    %rbx,0x78(%rsp)
140227413:	eb 1d                	jmp    0x140227432
140227415:	49 8b cf             	mov    %r15,%rcx
140227418:	ff 15 aa 54 8e 00    	call   *0x8e54aa(%rip)        # 0x140b0c8c8
14022741e:	48 8b d8             	mov    %rax,%rbx
140227421:	48 85 c0             	test   %rax,%rax
140227424:	75 07                	jne    0x14022742d
140227426:	ff 15 6c 50 8e 00    	call   *0x8e506c(%rip)        # 0x140b0c498
14022742c:	cc                   	int3
14022742d:	48 89 44 24 78       	mov    %rax,0x78(%rsp)
140227432:	4c 8b 84 24 80 00 00 	mov    0x80(%rsp),%r8
140227439:	00
14022743a:	4b 8d 04 76          	lea    (%r14,%r14,2),%rax
14022743e:	4c 8d 2c c3          	lea    (%rbx,%rax,8),%r13
140227442:	49 8d 45 18          	lea    0x18(%r13),%rax
140227446:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
14022744b:	48 89 44 24 70       	mov    %rax,0x70(%rsp)
140227450:	49 8b d0             	mov    %r8,%rdx
140227453:	49 8b cd             	mov    %r13,%rcx
140227456:	e8 a9 40 df ff       	call   0x14001b504
14022745b:	4c 89 6c 24 70       	mov    %r13,0x70(%rsp)
140227460:	4c 8b 56 08          	mov    0x8(%rsi),%r10
140227464:	4c 8b 06             	mov    (%rsi),%r8
140227467:	49 3b fa             	cmp    %r10,%rdi
14022746a:	75 43                	jne    0x1402274af
14022746c:	4d 3b c2             	cmp    %r10,%r8
14022746f:	0f 84 be 00 00 00    	je     0x140227533
140227475:	4c 8d 4b 10          	lea    0x10(%rbx),%r9
140227479:	45 33 db             	xor    %r11d,%r11d
14022747c:	49 8b 50 10          	mov    0x10(%r8),%rdx
140227480:	4d 89 58 10          	mov    %r11,0x10(%r8)
140227484:	49 8b 48 08          	mov    0x8(%r8),%rcx
140227488:	4d 89 58 08          	mov    %r11,0x8(%r8)
14022748c:	49 8b 00             	mov    (%r8),%rax
14022748f:	4d 89 18             	mov    %r11,(%r8)
140227492:	49 89 41 f0          	mov    %rax,-0x10(%r9)
140227496:	49 89 49 f8          	mov    %rcx,-0x8(%r9)
14022749a:	49 89 11             	mov    %rdx,(%r9)
14022749d:	4d 8d 49 18          	lea    0x18(%r9),%r9
1402274a1:	49 83 c0 18          	add    $0x18,%r8
1402274a5:	4d 3b c2             	cmp    %r10,%r8
1402274a8:	75 d2                	jne    0x14022747c
1402274aa:	e9 84 00 00 00       	jmp    0x140227533
1402274af:	45 33 db             	xor    %r11d,%r11d
1402274b2:	4c 3b c7             	cmp    %rdi,%r8
1402274b5:	74 32                	je     0x1402274e9
1402274b7:	4c 8d 4b 10          	lea    0x10(%rbx),%r9
1402274bb:	49 8b 50 10          	mov    0x10(%r8),%rdx
1402274bf:	4d 89 58 10          	mov    %r11,0x10(%r8)
1402274c3:	49 8b 48 08          	mov    0x8(%r8),%rcx
1402274c7:	4d 89 58 08          	mov    %r11,0x8(%r8)
1402274cb:	49 8b 00             	mov    (%r8),%rax
1402274ce:	4d 89 18             	mov    %r11,(%r8)
1402274d1:	49 89 41 f0          	mov    %rax,-0x10(%r9)
1402274d5:	49 89 49 f8          	mov    %rcx,-0x8(%r9)
1402274d9:	49 89 11             	mov    %rdx,(%r9)
1402274dc:	4d 8d 49 18          	lea    0x18(%r9),%r9
1402274e0:	49 83 c0 18          	add    $0x18,%r8
1402274e4:	4c 3b c7             	cmp    %rdi,%r8
1402274e7:	75 d2                	jne    0x1402274bb
1402274e9:	48 89 5c 24 70       	mov    %rbx,0x70(%rsp)
1402274ee:	4c 8b 56 08          	mov    0x8(%rsi),%r10
1402274f2:	49 3b fa             	cmp    %r10,%rdi
1402274f5:	74 3c                	je     0x140227533
1402274f7:	4c 8d 47 10          	lea    0x10(%rdi),%r8
1402274fb:	4d 8b cd             	mov    %r13,%r9
1402274fe:	4c 2b cf             	sub    %rdi,%r9
140227501:	49 8b 10             	mov    (%r8),%rdx
140227504:	4d 89 18             	mov    %r11,(%r8)
140227507:	49 8b 48 f8          	mov    -0x8(%r8),%rcx
14022750b:	4d 89 58 f8          	mov    %r11,-0x8(%r8)
14022750f:	49 8b 40 f0          	mov    -0x10(%r8),%rax
140227513:	4d 89 58 f0          	mov    %r11,-0x10(%r8)
140227517:	4b 89 44 01 08       	mov    %rax,0x8(%r9,%r8,1)
14022751c:	4b 89 4c 01 10       	mov    %rcx,0x10(%r9,%r8,1)
140227521:	4b 89 54 01 18       	mov    %rdx,0x18(%r9,%r8,1)
140227526:	4d 8d 40 18          	lea    0x18(%r8),%r8
14022752a:	49 8d 40 f0          	lea    -0x10(%r8),%rax
14022752e:	49 3b c2             	cmp    %r10,%rax
140227531:	75 ce                	jne    0x140227501
140227533:	48 8b 3e             	mov    (%rsi),%rdi
140227536:	48 85 ff             	test   %rdi,%rdi
140227539:	74 5d                	je     0x140227598
14022753b:	4c 8b 76 08          	mov    0x8(%rsi),%r14
14022753f:	eb 0c                	jmp    0x14022754d
140227541:	48 8b cf             	mov    %rdi,%rcx
140227544:	e8 87 39 df ff       	call   0x14001aed0
140227549:	48 83 c7 18          	add    $0x18,%rdi
14022754d:	49 3b fe             	cmp    %r14,%rdi
140227550:	75 ef                	jne    0x140227541
140227552:	48 8b 0e             	mov    (%rsi),%rcx
140227555:	48 8b 46 10          	mov    0x10(%rsi),%rax
140227559:	48 2b c1             	sub    %rcx,%rax
14022755c:	48 c1 f8 03          	sar    $0x3,%rax
140227560:	48 ba ab aa aa aa aa 	movabs $0xaaaaaaaaaaaaaaab,%rdx
140227567:	aa aa aa
14022756a:	48 0f af c2          	imul   %rdx,%rax
14022756e:	48 8d 04 40          	lea    (%rax,%rax,2),%rax
140227572:	48 c1 e0 03          	shl    $0x3,%rax
140227576:	48 3d 00 10 00 00    	cmp    $0x1000,%rax
14022757c:	72 14                	jb     0x140227592
14022757e:	48 8b 51 f8          	mov    -0x8(%rcx),%rdx
140227582:	48 2b ca             	sub    %rdx,%rcx
140227585:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
140227589:	48 83 f8 1f          	cmp    $0x1f,%rax
14022758d:	77 33                	ja     0x1402275c2
14022758f:	48 8b ca             	mov    %rdx,%rcx
140227592:	ff 15 28 53 8e 00    	call   *0x8e5328(%rip)        # 0x140b0c8c0
140227598:	48 89 1e             	mov    %rbx,(%rsi)
14022759b:	4b 8d 0c 64          	lea    (%r12,%r12,2),%rcx
14022759f:	48 8d 14 cb          	lea    (%rbx,%rcx,8),%rdx
1402275a3:	48 89 56 08          	mov    %rdx,0x8(%rsi)
1402275a7:	4a 8d 0c 3b          	lea    (%rbx,%r15,1),%rcx
1402275ab:	48 89 4e 10          	mov    %rcx,0x10(%rsi)
1402275af:	49 8b c5             	mov    %r13,%rax
1402275b2:	48 83 c4 30          	add    $0x30,%rsp
1402275b6:	41 5f                	pop    %r15
1402275b8:	41 5e                	pop    %r14
1402275ba:	41 5d                	pop    %r13
1402275bc:	41 5c                	pop    %r12
1402275be:	5f                   	pop    %rdi