140dad153:	f3 41 0f 10 5d 00    	movss  0x0(%r13),%xmm3
140dad159:	0f 57 d2             	xorps  %xmm2,%xmm2
140dad15c:	48 85 ff             	test   %rdi,%rdi
140dad15f:	78 07                	js     0x140dad168
140dad161:	f3 48 0f 2a d7       	cvtsi2ss %rdi,%xmm2
140dad166:	eb 18                	jmp    0x140dad180
140dad168:	48 8b cf             	mov    %rdi,%rcx
140dad16b:	48 d1 e9             	shr    $1,%rcx
140dad16e:	48 8b c7             	mov    %rdi,%rax
140dad171:	83 e0 01             	and    $0x1,%eax
140dad174:	48 0b c8             	or     %rax,%rcx
140dad177:	f3 48 0f 2a d1       	cvtsi2ss %rcx,%xmm2
140dad17c:	f3 0f 58 d2          	addss  %xmm2,%xmm2
140dad180:	0f 28 c8             	movaps %xmm0,%xmm1
140dad183:	f3 0f 5e ca          	divss  %xmm2,%xmm1
140dad187:	0f 2f cb             	comiss %xmm3,%xmm1
140dad18a:	0f 86 dd 00 00 00    	jbe    0x140dad26d
140dad190:	f3 0f 5e c3          	divss  %xmm3,%xmm0
140dad194:	e8 87 3f 08 00       	call   0x140e31120
140dad199:	33 c9                	xor    %ecx,%ecx
140dad19b:	f3 0f 10 0d c1 14 20 	movss  0x2014c1(%rip),%xmm1        # 0x140fae664
140dad1a2:	00
140dad1a3:	0f 2f c1             	comiss %xmm1,%xmm0
140dad1a6:	72 16                	jb     0x140dad1be
140dad1a8:	f3 0f 5c c1          	subss  %xmm1,%xmm0
140dad1ac:	0f 2f c1             	comiss %xmm1,%xmm0
140dad1af:	73 0d                	jae    0x140dad1be
140dad1b1:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
140dad1b8:	00 00 80
140dad1bb:	48 8b c8             	mov    %rax,%rcx
140dad1be:	f3 48 0f 2c c0       	cvttss2si %xmm0,%rax
140dad1c3:	48 03 c1             	add    %rcx,%rax
140dad1c6:	b9 08 00 00 00       	mov    $0x8,%ecx
140dad1cb:	48 3b c1             	cmp    %rcx,%rax
140dad1ce:	48 0f 47 c8          	cmova  %rax,%rcx
140dad1d2:	48 3b f9             	cmp    %rcx,%rdi
140dad1d5:	73 19                	jae    0x140dad1f0
140dad1d7:	48 81 ff 00 02 00 00 	cmp    $0x200,%rdi
140dad1de:	73 0d                	jae    0x140dad1ed
140dad1e0:	48 8d 3c fd 00 00 00 	lea    0x0(,%rdi,8),%rdi
140dad1e7:	00
140dad1e8:	48 3b f9             	cmp    %rcx,%rdi
140dad1eb:	73 03                	jae    0x140dad1f0
140dad1ed:	48 8b f9             	mov    %rcx,%rdi
140dad1f0:	48 8b d7             	mov    %rdi,%rdx
140dad1f3:	49 8b cd             	mov    %r13,%rcx
140dad1f6:	e8 25 2a 00 00       	call   0x140dafc20
140dad1fb:	49 8b 6d 30          	mov    0x30(%r13),%rbp
140dad1ff:	48 23 6c 24 30       	and    0x30(%rsp),%rbp
140dad204:	48 03 ed             	add    %rbp,%rbp
140dad207:	49 8b 45 18          	mov    0x18(%r13),%rax
140dad20b:	48 8b 7c e8 08       	mov    0x8(%rax,%rbp,8),%rdi
140dad210:	49 8b 5d 08          	mov    0x8(%r13),%rbx
140dad214:	48 3b fb             	cmp    %rbx,%rdi
140dad217:	75 0b                	jne    0x140dad224
140dad219:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
140dad220:	00 00
140dad222:	eb 3c                	jmp    0x140dad260
140dad224:	48 8b 2c e8          	mov    (%rax,%rbp,8),%rbp
140dad228:	48 8d 57 10          	lea    0x10(%rdi),%rdx
140dad22c:	48 8d 4e 10          	lea    0x10(%rsi),%rcx
140dad230:	e8 8b 35 00 00       	call   0x140db07c0
140dad235:	84 c0                	test   %al,%al
140dad237:	75 24                	jne    0x140dad25d
140dad239:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
140dad240:	48 8b df             	mov    %rdi,%rbx
140dad243:	48 3b fd             	cmp    %rbp,%rdi
140dad246:	74 5b                	je     0x140dad2a3
140dad248:	48 8b 7f 08          	mov    0x8(%rdi),%rdi
140dad24c:	48 8d 57 10          	lea    0x10(%rdi),%rdx
140dad250:	48 8d 4e 10          	lea    0x10(%rsi),%rcx
140dad254:	e8 67 35 00 00       	call   0x140db07c0
140dad259:	84 c0                	test   %al,%al
140dad25b:	74 e3                	je     0x140dad240
140dad25d:	48 8b 1f             	mov    (%rdi),%rbx
140dad260:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
140dad265:	48 8b eb             	mov    %rbx,%rbp
140dad268:	4c 8b 64 24 20       	mov    0x20(%rsp),%r12
140dad26d:	48 8b 53 08          	mov    0x8(%rbx),%rdx
140dad271:	49 ff 45 10          	incq   0x10(%r13)
140dad275:	4c 89 26             	mov    %r12,(%rsi)
140dad278:	48 89 56 08          	mov    %rdx,0x8(%rsi)
140dad27c:	48 89 32             	mov    %rsi,(%rdx)
140dad27f:	48 89 73 08          	mov    %rsi,0x8(%rbx)
140dad283:	49 8b 4d 18          	mov    0x18(%r13),%rcx
140dad287:	49 8b 45 30          	mov    0x30(%r13),%rax
140dad28b:	48 23 44 24 30       	and    0x30(%rsp),%rax
140dad290:	48 03 c0             	add    %rax,%rax
140dad293:	4c 8b 04 c1          	mov    (%rcx,%rax,8),%r8
140dad297:	4d 3b 45 08          	cmp    0x8(%r13),%r8
140dad29b:	75 16                	jne    0x140dad2b3
140dad29d:	48 89 34 c1          	mov    %rsi,(%rcx,%rax,8)
140dad2a1:	eb 22                	jmp    0x140dad2c5
140dad2a3:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
140dad2a8:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
140dad2af:	00 00
140dad2b1:	eb b2                	jmp    0x140dad265
140dad2b3:	4c 3b c5             	cmp    %rbp,%r8
140dad2b6:	75 06                	jne    0x140dad2be
140dad2b8:	48 89 34 c1          	mov    %rsi,(%rcx,%rax,8)
140dad2bc:	eb 0c                	jmp    0x140dad2ca
140dad2be:	48 39 54 c1 08       	cmp    %rdx,0x8(%rcx,%rax,8)
140dad2c3:	75 05                	jne    0x140dad2ca
140dad2c5:	48 89 74 c1 08       	mov    %rsi,0x8(%rcx,%rax,8)
140dad2ca:	49 89 36             	mov    %rsi,(%r14)
140dad2cd:	41 c6 46 08 01       	movb   $0x1,0x8(%r14)
140dad2d2:	e9 cf fd ff ff       	jmp    0x140dad0a6
140dad2d7:	48 8d 0d c2 11 20 00 	lea    0x2011c2(%rip),%rcx        # 0x140fae4a0
140dad2de:	e8 d1 e0 04 00       	call   0x140dfb3b4
140dad2e3:	cc                   	int3
140dad2e4:	cc                   	int3
140dad2e5:	cc                   	int3
140dad2e6:	cc                   	int3
140dad2e7:	cc                   	int3
140dad2e8:	cc                   	int3
140dad2e9:	cc                   	int3
140dad2ea:	cc                   	int3
140dad2eb:	cc                   	int3
140dad2ec:	cc                   	int3
140dad2ed:	cc                   	int3
140dad2ee:	cc                   	int3
140dad2ef:	cc                   	int3
140dad2f0:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
140dad2f5:	55                   	push   %rbp
140dad2f6:	56                   	push   %rsi
140dad2f7:	57                   	push   %rdi
140dad2f8:	41 54                	push   %r12
140dad2fa:	41 55                	push   %r13
140dad2fc:	41 56                	push   %r14
140dad2fe:	41 57                	push   %r15
140dad300:	48 83 ec 30          	sub    $0x30,%rsp
140dad304:	49 8b f0             	mov    %r8,%rsi
140dad307:	4c 8b f2             	mov    %rdx,%r14
140dad30a:	48 8b e9             	mov    %rcx,%rbp
140dad30d:	0f ae e8             	lfence
140dad310:	45 0f b6 28          	movzbl (%r8),%r13d
140dad314:	48 b8 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%rax
140dad31b:	9c f2 cb
140dad31e:	4c 33 e8             	xor    %rax,%r13
140dad321:	48 b9 b3 01 00 00 00 	movabs $0x100000001b3,%rcx
140dad328:	01 00 00
140dad32b:	4c 0f af e9          	imul   %rcx,%r13
140dad32f:	41 0f b6 40 01       	movzbl 0x1(%r8),%eax
140dad334:	4c 33 e8             	xor    %rax,%r13
140dad337:	4c 0f af e9          	imul   %rcx,%r13
140dad33b:	41 0f b6 40 02       	movzbl 0x2(%r8),%eax
140dad340:	4c 33 e8             	xor    %rax,%r13
140dad343:	4c 0f af e9          	imul   %rcx,%r13
140dad347:	41 0f b6 40 03       	movzbl 0x3(%r8),%eax
140dad34c:	4c 33 e8             	xor    %rax,%r13
140dad34f:	4c 0f af e9          	imul   %rcx,%r13
140dad353:	41 0f b6 40 04       	movzbl 0x4(%r8),%eax
140dad358:	4c 33 e8             	xor    %rax,%r13
140dad35b:	4c 0f af e9          	imul   %rcx,%r13
140dad35f:	41 0f b6 40 05       	movzbl 0x5(%r8),%eax
140dad364:	4c 33 e8             	xor    %rax,%r13
140dad367:	4c 0f af e9          	imul   %rcx,%r13
140dad36b:	41 0f b6 40 06       	movzbl 0x6(%r8),%eax
140dad370:	4c 33 e8             	xor    %rax,%r13
140dad373:	4c 0f af e9          	imul   %rcx,%r13
140dad377:	41 0f b6 40 07       	movzbl 0x7(%r8),%eax
140dad37c:	4c 33 e8             	xor    %rax,%r13
140dad37f:	4c 0f af e9          	imul   %rcx,%r13
140dad383:	49 8b cd             	mov    %r13,%rcx
140dad386:	48 23 4d 30          	and    0x30(%rbp),%rcx
140dad38a:	48 03 c9             	add    %rcx,%rcx
140dad38d:	48 8b 45 18          	mov    0x18(%rbp),%rax
140dad391:	48 8b 5c c8 08       	mov    0x8(%rax,%rcx,8),%rbx
140dad396:	48 8d 55 08          	lea    0x8(%rbp),%rdx
140dad39a:	4c 8b 22             	mov    (%rdx),%r12
140dad39d:	49 3b dc             	cmp    %r12,%rbx
140dad3a0:	75 08                	jne    0x140dad3aa
140dad3a2:	49 8b dc             	mov    %r12,%rbx
140dad3a5:	4d 8b fc             	mov    %r12,%r15
140dad3a8:	eb 45                	jmp    0x140dad3ef
140dad3aa:	48 8b 0c c8          	mov    (%rax,%rcx,8),%rcx
140dad3ae:	49 8b 00             	mov    (%r8),%rax
140dad3b1:	48 3b 43 10          	cmp    0x10(%rbx),%rax
140dad3b5:	74 0f                	je     0x140dad3c6
140dad3b7:	48 3b d9             	cmp    %rcx,%rbx
140dad3ba:	74 2d                	je     0x140dad3e9
140dad3bc:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
140dad3c0:	48 3b 43 10          	cmp    0x10(%rbx),%rax
140dad3c4:	75 f1                	jne    0x140dad3b7
140dad3c6:	49 89 1e             	mov    %rbx,(%r14)
140dad3c9:	41 c6 46 08 00       	movb   $0x0,0x8(%r14)
140dad3ce:	49 8b c6             	mov    %r14,%rax
140dad3d1:	48 8b 9c 24 88 00 00 	mov    0x88(%rsp),%rbx
140dad3d8:	00
140dad3d9:	48 83 c4 30          	add    $0x30,%rsp
140dad3dd:	41 5f                	pop    %r15
140dad3df:	41 5e                	pop    %r14
140dad3e1:	41 5d                	pop    %r13
140dad3e3:	41 5c                	pop    %r12
140dad3e5:	5f                   	pop    %rdi
140dad3e6:	5e                   	pop    %rsi
140dad3e7:	5d                   	pop    %rbp
140dad3e8:	c3                   	ret
140dad3e9:	4c 8b e3             	mov    %rbx,%r12
140dad3ec:	4c 8b fb             	mov    %rbx,%r15
140dad3ef:	48 b8 ff ff ff ff ff 	movabs $0x7ffffffffffffff,%rax
140dad3f6:	ff ff 07
140dad3f9:	48 39 45 10          	cmp    %rax,0x10(%rbp)
140dad3fd:	0f 84 c7 01 00 00    	je     0x140dad5ca
140dad403:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
140dad408:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
140dad40f:	00 00
140dad411:	0f ae e8             	lfence
140dad414:	b9 20 00 00 00       	mov    $0x20,%ecx
140dad419:	e8 ea dc 06 00       	call   0x140e1b108
140dad41e:	48 8b f8             	mov    %rax,%rdi
140dad421:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140dad426:	48 8b 06             	mov    (%rsi),%rax
140dad429:	48 89 47 10          	mov    %rax,0x10(%rdi)
140dad42d:	48 c7 47 18 00 00 00 	movq   $0x0,0x18(%rdi)
140dad434:	00
140dad435:	48 8b 4d 10          	mov    0x10(%rbp),%rcx
140dad439:	48 83 c1 01          	add    $0x1,%rcx
140dad43d:	0f 57 c0             	xorps  %xmm0,%xmm0
140dad440:	78 07                	js     0x140dad449
140dad442:	f3 48 0f 2a c1       	cvtsi2ss %rcx,%xmm0
140dad447:	eb 15                	jmp    0x140dad45e
140dad449:	48 8b c1             	mov    %rcx,%rax
140dad44c:	48 d1 e8             	shr    $1,%rax
140dad44f:	83 e1 01             	and    $0x1,%ecx
140dad452:	48 0b c1             	or     %rcx,%rax
140dad455:	f3 48 0f 2a c0       	cvtsi2ss %rax,%xmm0
140dad45a:	f3 0f 58 c0          	addss  %xmm0,%xmm0
140dad45e:	48 8b 75 38          	mov    0x38(%rbp),%rsi
140dad462:	f3 0f 10 5d 00       	movss  0x0(%rbp),%xmm3
140dad467:	0f 57 d2             	xorps  %xmm2,%xmm2
140dad46a:	48 85 f6             	test   %rsi,%rsi
140dad46d:	78 07                	js     0x140dad476
140dad46f:	f3 48 0f 2a d6       	cvtsi2ss %rsi,%xmm2
140dad474:	eb 18                	jmp    0x140dad48e
140dad476:	48 8b ce             	mov    %rsi,%rcx
140dad479:	48 d1 e9             	shr    $1,%rcx
140dad47c:	48 8b c6             	mov    %rsi,%rax
140dad47f:	83 e0 01             	and    $0x1,%eax
140dad482:	48 0b c8             	or     %rax,%rcx
140dad485:	f3 48 0f 2a d1       	cvtsi2ss %rcx,%xmm2
140dad48a:	f3 0f 58 d2          	addss  %xmm2,%xmm2
140dad48e:	0f 28 c8             	movaps %xmm0,%xmm1
140dad491:	f3 0f 5e ca          	divss  %xmm2,%xmm1
140dad495:	0f 2f cb             	comiss %xmm3,%xmm1
140dad498:	0f 86 c4 00 00 00    	jbe    0x140dad562
140dad49e:	f3 0f 5e c3          	divss  %xmm3,%xmm0
140dad4a2:	e8 79 3c 08 00       	call   0x140e31120
140dad4a7:	33 c9                	xor    %ecx,%ecx
140dad4a9:	f3 0f 10 0d b3 11 20 	movss  0x2011b3(%rip),%xmm1        # 0x140fae664
140dad4b0:	00
140dad4b1:	0f 2f c1             	comiss %xmm1,%xmm0
140dad4b4:	72 16                	jb     0x140dad4cc
140dad4b6:	f3 0f 5c c1          	subss  %xmm1,%xmm0
140dad4ba:	0f 2f c1             	comiss %xmm1,%xmm0
140dad4bd:	73 0d                	jae    0x140dad4cc
140dad4bf:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
140dad4c6:	00 00 80
140dad4c9:	48 8b c8             	mov    %rax,%rcx
140dad4cc:	f3 48 0f 2c c0       	cvttss2si %xmm0,%rax
140dad4d1:	48 03 c1             	add    %rcx,%rax
140dad4d4:	b9 08 00 00 00       	mov    $0x8,%ecx
140dad4d9:	48 3b c1             	cmp    %rcx,%rax
140dad4dc:	48 0f 47 c8          	cmova  %rax,%rcx
140dad4e0:	48 3b f1             	cmp    %rcx,%rsi
140dad4e3:	73 19                	jae    0x140dad4fe
140dad4e5:	48 81 fe 00 02 00 00 	cmp    $0x200,%rsi
140dad4ec:	73 0d                	jae    0x140dad4fb
140dad4ee:	48 8d 34 f5 00 00 00 	lea    0x0(,%rsi,8),%rsi
140dad4f5:	00
140dad4f6:	48 3b f1             	cmp    %rcx,%rsi
140dad4f9:	73 03                	jae    0x140dad4fe
140dad4fb:	48 8b f1             	mov    %rcx,%rsi
140dad4fe:	48 8b d6             	mov    %rsi,%rdx
140dad501:	48 8b cd             	mov    %rbp,%rcx
140dad504:	e8 37 00 4a ff       	call   0x14024d540
140dad509:	48 8b 4d 30          	mov    0x30(%rbp),%rcx
140dad50d:	49 23 cd             	and    %r13,%rcx
140dad510:	48 03 c9             	add    %rcx,%rcx
140dad513:	48 8b 55 18          	mov    0x18(%rbp),%rdx
140dad517:	48 8b 44 ca 08       	mov    0x8(%rdx,%rcx,8),%rax
140dad51c:	48 8b 5d 08          	mov    0x8(%rbp),%rbx
140dad520:	48 3b c3             	cmp    %rbx,%rax
140dad523:	75 0b                	jne    0x140dad530
140dad525:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
140dad52c:	00 00
140dad52e:	eb 25                	jmp    0x140dad555
140dad530:	48 8b 14 ca          	mov    (%rdx,%rcx,8),%rdx
140dad534:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
140dad538:	48 3b 48 10          	cmp    0x10(%rax),%rcx
140dad53c:	74 14                	je     0x140dad552
140dad53e:	66 90                	xchg   %ax,%ax
140dad540:	48 8b d8             	mov    %rax,%rbx
140dad543:	48 3b c2             	cmp    %rdx,%rax
140dad546:	74 4e                	je     0x140dad596
140dad548:	48 8b 40 08          	mov    0x8(%rax),%rax
140dad54c:	48 3b 48 10          	cmp    0x10(%rax),%rcx
140dad550:	75 ee                	jne    0x140dad540
140dad552:	48 8b 18             	mov    (%rax),%rbx
140dad555:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
140dad55a:	4c 8b fb             	mov    %rbx,%r15
140dad55d:	4c 8b 64 24 20       	mov    0x20(%rsp),%r12
140dad562:	48 8b 53 08          	mov    0x8(%rbx),%rdx
140dad566:	48 ff 45 10          	incq   0x10(%rbp)
140dad56a:	4c 89 27             	mov    %r12,(%rdi)
140dad56d:	48 89 57 08          	mov    %rdx,0x8(%rdi)
140dad571:	48 89 3a             	mov    %rdi,(%rdx)
140dad574:	48 89 7b 08          	mov    %rdi,0x8(%rbx)
140dad578:	48 8b 4d 18          	mov    0x18(%rbp),%rcx
140dad57c:	48 8b 45 30          	mov    0x30(%rbp),%rax
140dad580:	49 23 c5             	and    %r13,%rax
140dad583:	48 03 c0             	add    %rax,%rax
140dad586:	4c 8b 04 c1          	mov    (%rcx,%rax,8),%r8
140dad58a:	4c 3b 45 08          	cmp    0x8(%rbp),%r8
140dad58e:	75 16                	jne    0x140dad5a6
140dad590:	48 89 3c c1          	mov    %rdi,(%rcx,%rax,8)
140dad594:	eb 22                	jmp    0x140dad5b8
140dad596:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140dad59b:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
140dad5a2:	00 00
140dad5a4:	eb b4                	jmp    0x140dad55a
140dad5a6:	4d 3b c7             	cmp    %r15,%r8
140dad5a9:	75 06                	jne    0x140dad5b1
140dad5ab:	48 89 3c c1          	mov    %rdi,(%rcx,%rax,8)
140dad5af:	eb 0c                	jmp    0x140dad5bd
140dad5b1:	48 39 54 c1 08       	cmp    %rdx,0x8(%rcx,%rax,8)
140dad5b6:	75 05                	jne    0x140dad5bd
140dad5b8:	48 89 7c c1 08       	mov    %rdi,0x8(%rcx,%rax,8)
140dad5bd:	49 89 3e             	mov    %rdi,(%r14)
140dad5c0:	41 c6 46 08 01       	movb   $0x1,0x8(%r14)
140dad5c5:	e9 04 fe ff ff       	jmp    0x140dad3ce
140dad5ca:	48 8d 0d cf 0e 20 00 	lea    0x200ecf(%rip),%rcx        # 0x140fae4a0
140dad5d1:	e8 de dd 04 00       	call   0x140dfb3b4
140dad5d6:	cc                   	int3
140dad5d7:	cc                   	int3
140dad5d8:	cc                   	int3
140dad5d9:	cc                   	int3
140dad5da:	cc                   	int3
140dad5db:	cc                   	int3
140dad5dc:	cc                   	int3
140dad5dd:	cc                   	int3
140dad5de:	cc                   	int3
140dad5df:	cc                   	int3
140dad5e0:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
140dad5e5:	55                   	push   %rbp
140dad5e6:	56                   	push   %rsi
140dad5e7:	57                   	push   %rdi
140dad5e8:	41 54                	push   %r12
140dad5ea:	41 55                	push   %r13
140dad5ec:	41 56                	push   %r14