140936175:	41 56                	push   %r14
140936177:	41 57                	push   %r15
140936179:	48 83 ec 60          	sub    $0x60,%rsp
14093617d:	48 8b ea             	mov    %rdx,%rbp
140936180:	48 8b f9             	mov    %rcx,%rdi
140936183:	8b 81 e0 00 00 00    	mov    0xe0(%rcx),%eax
140936189:	85 c0                	test   %eax,%eax
14093618b:	7e 18                	jle    0x1409361a5
14093618d:	ff c8                	dec    %eax
14093618f:	89 81 e0 00 00 00    	mov    %eax,0xe0(%rcx)
140936195:	85 c0                	test   %eax,%eax
140936197:	7f 0c                	jg     0x1409361a5
140936199:	b9 0c 00 00 00       	mov    $0xc,%ecx
14093619e:	ff 15 0c 65 1d 00    	call   *0x1d650c(%rip)        # 0x140b0c6b0
1409361a4:	cc                   	int3
1409361a5:	8b 81 dc 00 00 00    	mov    0xdc(%rcx),%eax
1409361ab:	85 c0                	test   %eax,%eax
1409361ad:	7e 18                	jle    0x1409361c7
1409361af:	ff c8                	dec    %eax
1409361b1:	89 81 dc 00 00 00    	mov    %eax,0xdc(%rcx)
1409361b7:	85 c0                	test   %eax,%eax
1409361b9:	7f 0c                	jg     0x1409361c7
1409361bb:	b9 0b 00 00 00       	mov    $0xb,%ecx
1409361c0:	ff 15 ea 64 1d 00    	call   *0x1d64ea(%rip)        # 0x140b0c6b0
1409361c6:	cc                   	int3
1409361c7:	40 32 f6             	xor    %sil,%sil
1409361ca:	48 85 d2             	test   %rdx,%rdx
1409361cd:	0f 84 e4 04 00 00    	je     0x1409366b7
1409361d3:	41 bd 01 00 00 00    	mov    $0x1,%r13d
1409361d9:	41 b8 0d 00 00 00    	mov    $0xd,%r8d
1409361df:	8b 4d 08             	mov    0x8(%rbp),%ecx
1409361e2:	83 f9 0b             	cmp    $0xb,%ecx
1409361e5:	0f 8f 1b 02 00 00    	jg     0x140936406
1409361eb:	0f 84 fb 00 00 00    	je     0x1409362ec
1409361f1:	83 f9 05             	cmp    $0x5,%ecx
1409361f4:	0f 8f c3 00 00 00    	jg     0x1409362bd
1409361fa:	0f 84 91 00 00 00    	je     0x140936291
140936200:	85 c9                	test   %ecx,%ecx
140936202:	0f 84 eb 04 00 00    	je     0x1409366f3
140936208:	83 e9 01             	sub    $0x1,%ecx
14093620b:	0f 84 8f 04 00 00    	je     0x1409366a0
140936211:	83 e9 01             	sub    $0x1,%ecx
140936214:	74 49                	je     0x14093625f
140936216:	83 e9 01             	sub    $0x1,%ecx
140936219:	74 22                	je     0x14093623d
14093621b:	83 f9 01             	cmp    $0x1,%ecx
14093621e:	0f 85 cf 04 00 00    	jne    0x1409366f3
140936224:	48 8b cf             	mov    %rdi,%rcx
140936227:	e8 e8 43 8a ff       	call   0x1401da614
14093622c:	8b 4d 0c             	mov    0xc(%rbp),%ecx
14093622f:	41 23 cd             	and    %r13d,%ecx
140936232:	3a c1                	cmp    %cl,%al
140936234:	40 0f 94 c6          	sete   %sil
140936238:	e9 63 04 00 00       	jmp    0x1409366a0
14093623d:	48 8b 07             	mov    (%rdi),%rax
140936240:	48 3b 87 a0 00 00 00 	cmp    0xa0(%rdi),%rax
140936247:	75 10                	jne    0x140936259
140936249:	8b b7 bc 00 00 00    	mov    0xbc(%rdi),%esi
14093624f:	d1 ee                	shr    $1,%esi
140936251:	41 22 f5             	and    %r13b,%sil
140936254:	e9 47 04 00 00       	jmp    0x1409366a0
140936259:	66 83 38 0a          	cmpw   $0xa,(%rax)
14093625d:	eb 29                	jmp    0x140936288
14093625f:	f7 87 bc 00 00 00 00 	testl  $0x100,0xbc(%rdi)
140936266:	01 00 00
140936269:	75 15                	jne    0x140936280
14093626b:	48 8b 87 98 00 00 00 	mov    0x98(%rdi),%rax
140936272:	48 39 07             	cmp    %rax,(%rdi)
140936275:	75 09                	jne    0x140936280
140936277:	40 8a b7 bc 00 00 00 	mov    0xbc(%rdi),%sil
14093627e:	eb d1                	jmp    0x140936251
140936280:	48 8b 07             	mov    (%rdi),%rax
140936283:	66 83 78 fe 0a       	cmpw   $0xa,-0x2(%rax)
140936288:	40 0f 95 c6          	setne  %sil
14093628c:	e9 0f 04 00 00       	jmp    0x1409366a0
140936291:	48 8b 07             	mov    (%rdi),%rax
140936294:	48 3b 87 a0 00 00 00 	cmp    0xa0(%rdi),%rax
14093629b:	74 18                	je     0x1409362b5
14093629d:	66 83 38 0a          	cmpw   $0xa,(%rax)
1409362a1:	74 12                	je     0x1409362b5
1409362a3:	66 44 39 00          	cmp    %r8w,(%rax)
1409362a7:	74 0c                	je     0x1409362b5
1409362a9:	48 83 c0 02          	add    $0x2,%rax
1409362ad:	48 89 07             	mov    %rax,(%rdi)
1409362b0:	e9 eb 03 00 00       	jmp    0x1409366a0
1409362b5:	41 8a f5             	mov    %r13b,%sil
1409362b8:	e9 e3 03 00 00       	jmp    0x1409366a0
1409362bd:	8b d1                	mov    %ecx,%edx
1409362bf:	83 ea 06             	sub    $0x6,%edx
1409362c2:	0f 84 b8 00 00 00    	je     0x140936380
1409362c8:	83 ea 01             	sub    $0x1,%edx
1409362cb:	0f 84 84 00 00 00    	je     0x140936355
1409362d1:	83 ea 01             	sub    $0x1,%edx
1409362d4:	0f 84 c6 03 00 00    	je     0x1409366a0
1409362da:	83 ea 01             	sub    $0x1,%edx
1409362dd:	0f 84 bd 03 00 00    	je     0x1409366a0
1409362e3:	83 fa 01             	cmp    $0x1,%edx
1409362e6:	0f 85 07 04 00 00    	jne    0x1409366f3
1409362ec:	4c 8b 3f             	mov    (%rdi),%r15
1409362ef:	83 f9 0b             	cmp    $0xb,%ecx
1409362f2:	0f 94 c3             	sete   %bl
1409362f5:	4c 89 7c 24 30       	mov    %r15,0x30(%rsp)
1409362fa:	4c 8d 77 08          	lea    0x8(%rdi),%r14
1409362fe:	49 8b d6             	mov    %r14,%rdx
140936301:	48 8d 4c 24 38       	lea    0x38(%rsp),%rcx
140936306:	e8 c9 58 6e ff       	call   0x14001bbd4
14093630b:	49 8b 46 18          	mov    0x18(%r14),%rax
14093630f:	48 89 44 24 50       	mov    %rax,0x50(%rsp)
140936314:	48 8b 55 20          	mov    0x20(%rbp),%rdx
140936318:	48 8b cf             	mov    %rdi,%rcx
14093631b:	e8 40 fe ff ff       	call   0x140936160
140936320:	3a c3                	cmp    %bl,%al
140936322:	0f 85 96 00 00 00    	jne    0x1409363be
140936328:	48 8b 44 24 30       	mov    0x30(%rsp),%rax
14093632d:	48 89 07             	mov    %rax,(%rdi)
140936330:	48 8d 44 24 38       	lea    0x38(%rsp),%rax
140936335:	4c 3b f0             	cmp    %rax,%r14
140936338:	74 16                	je     0x140936350
14093633a:	48 8d 54 24 38       	lea    0x38(%rsp),%rdx
14093633f:	49 8b ce             	mov    %r14,%rcx
140936342:	e8 21 36 8a ff       	call   0x1401d9968
140936347:	48 8b 44 24 50       	mov    0x50(%rsp),%rax
14093634c:	49 89 46 18          	mov    %rax,0x18(%r14)
140936350:	41 8a f5             	mov    %r13b,%sil
140936353:	eb 6c                	jmp    0x1409363c1
140936355:	48 8b 87 a0 00 00 00 	mov    0xa0(%rdi),%rax
14093635c:	48 39 07             	cmp    %rax,(%rdi)
14093635f:	0f 84 89 03 00 00    	je     0x1409366ee
140936365:	48 8b d5             	mov    %rbp,%rdx
140936368:	48 8b cf             	mov    %rdi,%rcx
14093636b:	e8 04 0e 00 00       	call   0x140937174
140936370:	84 c0                	test   %al,%al
140936372:	0f 84 76 03 00 00    	je     0x1409366ee
140936378:	40 32 f6             	xor    %sil,%sil
14093637b:	e9 25 03 00 00       	jmp    0x1409366a5
140936380:	8b 8f b8 00 00 00    	mov    0xb8(%rdi),%ecx
140936386:	48 8b 97 d0 00 00 00 	mov    0xd0(%rdi),%rdx
14093638d:	4c 8b 45 28          	mov    0x28(%rbp),%r8
140936391:	8b 45 24             	mov    0x24(%rbp),%eax
140936394:	4d 8d 0c 40          	lea    (%r8,%rax,2),%r9
140936398:	89 4c 24 28          	mov    %ecx,0x28(%rsp)
14093639c:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
1409363a1:	48 8b 97 a0 00 00 00 	mov    0xa0(%rdi),%rdx
1409363a8:	48 8b 0f             	mov    (%rdi),%rcx
1409363ab:	e8 44 2d 8a ff       	call   0x1401d90f4
1409363b0:	48 3b 07             	cmp    (%rdi),%rax
1409363b3:	0f 84 fc fe ff ff    	je     0x1409362b5
1409363b9:	e9 ef fe ff ff       	jmp    0x1409362ad
1409363be:	4c 89 3f             	mov    %r15,(%rdi)
1409363c1:	48 8b 4c 24 38       	mov    0x38(%rsp),%rcx
1409363c6:	48 85 c9             	test   %rcx,%rcx
1409363c9:	0f 84 d1 02 00 00    	je     0x1409366a0
1409363cf:	48 8b d1             	mov    %rcx,%rdx
1409363d2:	48 8b 44 24 48       	mov    0x48(%rsp),%rax
1409363d7:	48 2b c1             	sub    %rcx,%rax
1409363da:	48 83 e0 fc          	and    $0xfffffffffffffffc,%rax
1409363de:	48 3d 00 10 00 00    	cmp    $0x1000,%rax
1409363e4:	72 15                	jb     0x1409363fb
1409363e6:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
1409363ea:	48 2b d1             	sub    %rcx,%rdx
1409363ed:	48 8d 42 f8          	lea    -0x8(%rdx),%rax
1409363f1:	48 83 f8 1f          	cmp    $0x1f,%rax
1409363f5:	0f 87 02 03 00 00    	ja     0x1409366fd
1409363fb:	ff 15 bf 64 1d 00    	call   *0x1d64bf(%rip)        # 0x140b0c8c0
140936401:	e9 9a 02 00 00       	jmp    0x1409366a0
140936406:	83 f9 11             	cmp    $0x11,%ecx
140936409:	0f 8f b5 01 00 00    	jg     0x1409365c4
14093640f:	0f 84 8b 02 00 00    	je     0x1409366a0
140936415:	83 e9 0c             	sub    $0xc,%ecx
140936418:	0f 84 80 02 00 00    	je     0x14093669e
14093641e:	83 e9 01             	sub    $0x1,%ecx
140936421:	0f 84 3c 01 00 00    	je     0x140936563
140936427:	83 e9 01             	sub    $0x1,%ecx
14093642a:	0f 84 c8 00 00 00    	je     0x1409364f8
140936430:	83 e9 01             	sub    $0x1,%ecx
140936433:	74 19                	je     0x14093644e
140936435:	83 f9 01             	cmp    $0x1,%ecx
140936438:	0f 85 b5 02 00 00    	jne    0x1409366f3
14093643e:	48 8b d5             	mov    %rbp,%rdx
140936441:	48 8b cf             	mov    %rdi,%rcx
140936444:	e8 6f 0a 00 00       	call   0x140936eb8
140936449:	e9 46 02 00 00       	jmp    0x140936694
14093644e:	44 8b 4d 20          	mov    0x20(%rbp),%r9d
140936452:	4c 3b 4f 20          	cmp    0x20(%rdi),%r9
140936456:	0f 83 a1 02 00 00    	jae    0x1409366fd
14093645c:	45 8b c1             	mov    %r9d,%r8d
14093645f:	49 c1 e8 05          	shr    $0x5,%r8
140936463:	48 8b 57 08          	mov    0x8(%rdi),%rdx
140936467:	41 8a c1             	mov    %r9b,%al
14093646a:	24 1f                	and    $0x1f,%al
14093646c:	0f b6 c8             	movzbl %al,%ecx
14093646f:	42 8b 04 82          	mov    (%rdx,%r8,4),%eax
140936473:	0f a3 c8             	bt     %ecx,%eax
140936476:	0f 83 24 02 00 00    	jae    0x1409366a0
14093647c:	4c 8b 17             	mov    (%rdi),%r10
14093647f:	48 8b 4f 28          	mov    0x28(%rdi),%rcx
140936483:	48 8b 47 30          	mov    0x30(%rdi),%rax
140936487:	48 2b c1             	sub    %rcx,%rax
14093648a:	48 c1 f8 04          	sar    $0x4,%rax
14093648e:	4c 3b c8             	cmp    %rax,%r9
140936491:	0f 83 66 02 00 00    	jae    0x1409366fd
140936497:	41 8b d1             	mov    %r9d,%edx
14093649a:	48 03 d2             	add    %rdx,%rdx
14093649d:	4c 8b 04 d1          	mov    (%rcx,%rdx,8),%r8
1409364a1:	48 8b 47 30          	mov    0x30(%rdi),%rax
1409364a5:	48 2b c1             	sub    %rcx,%rax
1409364a8:	48 c1 f8 04          	sar    $0x4,%rax
1409364ac:	4c 3b c8             	cmp    %rax,%r9
1409364af:	0f 83 48 02 00 00    	jae    0x1409366fd
1409364b5:	4c 8b 4c d1 08       	mov    0x8(%rcx,%rdx,8),%r9
1409364ba:	4d 3b c1             	cmp    %r9,%r8
1409364bd:	74 31                	je     0x1409364f0
1409364bf:	8b 87 b8 00 00 00    	mov    0xb8(%rdi),%eax
1409364c5:	89 44 24 28          	mov    %eax,0x28(%rsp)
1409364c9:	48 8b 87 d0 00 00 00 	mov    0xd0(%rdi),%rax
1409364d0:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1409364d5:	48 8b 97 a0 00 00 00 	mov    0xa0(%rdi),%rdx
1409364dc:	49 8b ca             	mov    %r10,%rcx
1409364df:	e8 10 2c 8a ff       	call   0x1401d90f4
1409364e4:	4c 8b d0             	mov    %rax,%r10
1409364e7:	48 3b 07             	cmp    (%rdi),%rax
1409364ea:	0f 84 fe 01 00 00    	je     0x1409366ee
1409364f0:	4c 89 17             	mov    %r10,(%rdi)
1409364f3:	e9 a8 01 00 00       	jmp    0x1409366a0
1409364f8:	4c 8b 45 20          	mov    0x20(%rbp),%r8
1409364fc:	80 bf c1 00 00 00 00 	cmpb   $0x0,0xc1(%rdi)
140936503:	75 0b                	jne    0x140936510
140936505:	41 83 78 20 00       	cmpl   $0x0,0x20(%r8)
14093650a:	0f 84 90 01 00 00    	je     0x1409366a0
140936510:	45 8b 48 20          	mov    0x20(%r8),%r9d
140936514:	4c 3b 4f 20          	cmp    0x20(%rdi),%r9
140936518:	0f 83 df 01 00 00    	jae    0x1409366fd
14093651e:	41 8b d1             	mov    %r9d,%edx
140936521:	48 c1 ea 05          	shr    $0x5,%rdx
140936525:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
140936529:	41 83 e1 1f          	and    $0x1f,%r9d
14093652d:	8b 04 91             	mov    (%rcx,%rdx,4),%eax
140936530:	44 0f ab c8          	bts    %r9d,%eax
140936534:	89 04 91             	mov    %eax,(%rcx,%rdx,4)
140936537:	4c 8b 0f             	mov    (%rdi),%r9
14093653a:	41 8b 48 20          	mov    0x20(%r8),%ecx
14093653e:	48 8b 57 28          	mov    0x28(%rdi),%rdx
140936542:	48 8b 47 30          	mov    0x30(%rdi),%rax
140936546:	48 2b c2             	sub    %rdx,%rax
140936549:	48 c1 f8 04          	sar    $0x4,%rax
14093654d:	48 3b c8             	cmp    %rax,%rcx
140936550:	0f 83 a7 01 00 00    	jae    0x1409366fd
140936556:	48 03 c9             	add    %rcx,%rcx
140936559:	4c 89 4c ca 08       	mov    %r9,0x8(%rdx,%rcx,8)
14093655e:	e9 3d 01 00 00       	jmp    0x1409366a0
140936563:	4c 8b 07             	mov    (%rdi),%r8
140936566:	8b 4d 20             	mov    0x20(%rbp),%ecx
140936569:	48 8b 57 28          	mov    0x28(%rdi),%rdx
14093656d:	48 8b 47 30          	mov    0x30(%rdi),%rax
140936571:	48 2b c2             	sub    %rdx,%rax
140936574:	48 c1 f8 04          	sar    $0x4,%rax
140936578:	48 3b c8             	cmp    %rax,%rcx
14093657b:	0f 83 7c 01 00 00    	jae    0x1409366fd
140936581:	48 03 c9             	add    %rcx,%rcx
140936584:	4c 89 04 ca          	mov    %r8,(%rdx,%rcx,8)
140936588:	4c 8b 4f 20          	mov    0x20(%rdi),%r9
14093658c:	eb 29                	jmp    0x1409365b7
14093658e:	4d 2b cd             	sub    %r13,%r9
140936591:	4c 3b 4f 20          	cmp    0x20(%rdi),%r9
140936595:	0f 83 62 01 00 00    	jae    0x1409366fd
14093659b:	4d 8b c1             	mov    %r9,%r8
14093659e:	49 c1 e8 05          	shr    $0x5,%r8
1409365a2:	48 8b 57 08          	mov    0x8(%rdi),%rdx
1409365a6:	49 8b c9             	mov    %r9,%rcx
1409365a9:	83 e1 1f             	and    $0x1f,%ecx
1409365ac:	42 8b 04 82          	mov    (%rdx,%r8,4),%eax
1409365b0:	0f b3 c8             	btr    %ecx,%eax
1409365b3:	42 89 04 82          	mov    %eax,(%rdx,%r8,4)
1409365b7:	8b 45 20             	mov    0x20(%rbp),%eax
1409365ba:	49 3b c1             	cmp    %r9,%rax
1409365bd:	72 cf                	jb     0x14093658e
1409365bf:	e9 dc 00 00 00       	jmp    0x1409366a0
1409365c4:	83 e9 12             	sub    $0x12,%ecx
1409365c7:	0f 84 af 00 00 00    	je     0x14093667c
1409365cd:	83 e9 01             	sub    $0x1,%ecx
1409365d0:	74 71                	je     0x140936643
1409365d2:	83 e9 01             	sub    $0x1,%ecx
1409365d5:	0f 84 c5 00 00 00    	je     0x1409366a0
1409365db:	83 f9 01             	cmp    $0x1,%ecx
1409365de:	0f 85 0f 01 00 00    	jne    0x1409366f3
1409365e4:	f7 87 bc 00 00 00 20 	testl  $0x2020,0xbc(%rdi)
1409365eb:	20 00 00
1409365ee:	74 0c                	je     0x1409365fc
1409365f0:	48 8b 07             	mov    (%rdi),%rax
1409365f3:	48 39 87 98 00 00 00 	cmp    %rax,0x98(%rdi)
1409365fa:	74 15                	je     0x140936611
1409365fc:	80 bf d8 00 00 00 00 	cmpb   $0x0,0xd8(%rdi)
140936603:	74 14                	je     0x140936619
140936605:	48 8b 87 a0 00 00 00 	mov    0xa0(%rdi),%rax
14093660c:	48 39 07             	cmp    %rax,(%rdi)
14093660f:	74 08                	je     0x140936619
140936611:	41 8a f5             	mov    %r13b,%sil
140936614:	e9 85 00 00 00       	jmp    0x14093669e
140936619:	80 bf c0 00 00 00 00 	cmpb   $0x0,0xc0(%rdi)
140936620:	74 0c                	je     0x14093662e
140936622:	48 8b cf             	mov    %rdi,%rcx
140936625:	e8 92 3e 8a ff       	call   0x1401da4bc
14093662a:	84 c0                	test   %al,%al
14093662c:	74 70                	je     0x14093669e
14093662e:	48 8d 4f 40          	lea    0x40(%rdi),%rcx
140936632:	48 8b d7             	mov    %rdi,%rdx
140936635:	e8 b6 32 8a ff       	call   0x1401d98f0
14093663a:	44 88 af c0 00 00 00 	mov    %r13b,0xc0(%rdi)
140936641:	eb 5b                	jmp    0x14093669e
140936643:	48 8b 55 20          	mov    0x20(%rbp),%rdx
140936647:	44 8b 4a 30          	mov    0x30(%rdx),%r9d
14093664b:	48 8b 8f 80 00 00 00 	mov    0x80(%rdi),%rcx
140936652:	48 8b 87 88 00 00 00 	mov    0x88(%rdi),%rax
140936659:	48 2b c1             	sub    %rcx,%rax
14093665c:	48 c1 f8 04          	sar    $0x4,%rax
140936660:	4c 3b c8             	cmp    %rax,%r9
140936663:	0f 83 94 00 00 00    	jae    0x1409366fd
140936669:	83 7a 34 00          	cmpl   $0x0,0x34(%rdx)
14093666d:	75 2f                	jne    0x14093669e
14093666f:	4d 03 c9             	add    %r9,%r9
140936672:	44 8b 42 0c          	mov    0xc(%rdx),%r8d
140936676:	46 8b 0c c9          	mov    (%rcx,%r9,8),%r9d
14093667a:	eb 0a                	jmp    0x140936686
14093667c:	44 8b 45 0c          	mov    0xc(%rbp),%r8d
140936680:	45 33 c9             	xor    %r9d,%r9d
140936683:	48 8b d5             	mov    %rbp,%rdx
140936686:	41 d1 e8             	shr    $1,%r8d
140936689:	45 22 c5             	and    %r13b,%r8b
14093668c:	48 8b cf             	mov    %rdi,%rcx
14093668f:	e8 40 09 00 00       	call   0x140936fd4
140936694:	40 0f b6 f6          	movzbl %sil,%esi
140936698:	84 c0                	test   %al,%al
14093669a:	41 0f 44 f5          	cmove  %r13d,%esi
14093669e:	33 ed                	xor    %ebp,%ebp
1409366a0:	40 84 f6             	test   %sil,%sil
1409366a3:	75 12                	jne    0x1409366b7
1409366a5:	48 85 ed             	test   %rbp,%rbp
1409366a8:	74 0d                	je     0x1409366b7
1409366aa:	48 8b 6d 10          	mov    0x10(%rbp),%rbp
1409366ae:	48 85 ed             	test   %rbp,%rbp
1409366b1:	0f 85 22 fb ff ff    	jne    0x1409361d9
1409366b7:	8b 87 e0 00 00 00    	mov    0xe0(%rdi),%eax
1409366bd:	85 c0                	test   %eax,%eax
1409366bf:	7e 08                	jle    0x1409366c9
1409366c1:	ff c0                	inc    %eax
1409366c3:	89 87 e0 00 00 00    	mov    %eax,0xe0(%rdi)
1409366c9:	40 84 f6             	test   %sil,%sil
1409366cc:	0f 94 c0             	sete   %al
1409366cf:	4c 8d 5c 24 60       	lea    0x60(%rsp),%r11
1409366d4:	49 8b 5b 20          	mov    0x20(%r11),%rbx