14000330b:	44 8b de             	mov    %esi,%r11d
14000330e:	49 ff c0             	inc    %r8
140003311:	4d 3b c1             	cmp    %r9,%r8
140003314:	72 db                	jb     0x1400032f1
140003316:	85 f6                	test   %esi,%esi
140003318:	74 27                	je     0x140003341
14000331a:	48 8b 4d 90          	mov    -0x70(%rbp),%rcx
14000331e:	48 8d 51 01          	lea    0x1(%rcx),%rdx
140003322:	48 3b 55 98          	cmp    -0x68(%rbp),%rdx
140003326:	76 0e                	jbe    0x140003336
140003328:	48 8b 45 80          	mov    -0x80(%rbp),%rax
14000332c:	48 8d 4d 80          	lea    -0x80(%rbp),%rcx
140003330:	ff 10                	call   *(%rax)
140003332:	48 8b 4d 90          	mov    -0x70(%rbp),%rcx
140003336:	48 8b 45 88          	mov    -0x78(%rbp),%rax
14000333a:	89 34 88             	mov    %esi,(%rax,%rcx,4)
14000333d:	48 ff 45 90          	incq   -0x70(%rbp)
140003341:	48 8b 44 24 38       	mov    0x38(%rsp),%rax
140003346:	8b 10                	mov    (%rax),%edx
140003348:	48 8d 4d 30          	lea    0x30(%rbp),%rcx
14000334c:	e8 3f f1 ff ff       	call   0x140002490
140003351:	2b 5c 24 20          	sub    0x20(%rsp),%ebx
140003355:	8b c3                	mov    %ebx,%eax
140003357:	99                   	cltd
140003358:	83 e2 1f             	and    $0x1f,%edx
14000335b:	03 c2                	add    %edx,%eax
14000335d:	c1 f8 05             	sar    $0x5,%eax
140003360:	01 85 d8 00 00 00    	add    %eax,0xd8(%rbp)
140003366:	81 e3 1f 00 00 80    	and    $0x8000001f,%ebx
14000336c:	7d 07                	jge    0x140003375
14000336e:	ff cb                	dec    %ebx
140003370:	83 cb e0             	or     $0xffffffe0,%ebx
140003373:	ff c3                	inc    %ebx
140003375:	85 db                	test   %ebx,%ebx
140003377:	74 67                	je     0x1400033e0
140003379:	44 8b cf             	mov    %edi,%r9d
14000337c:	4c 8b 55 40          	mov    0x40(%rbp),%r10
140003380:	4c 8b c7             	mov    %rdi,%r8
140003383:	4d 85 d2             	test   %r10,%r10
140003386:	74 58                	je     0x1400033e0
140003388:	44 2b fb             	sub    %ebx,%r15d
14000338b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140003390:	48 8b 45 38          	mov    0x38(%rbp),%rax
140003394:	4a 8d 14 80          	lea    (%rax,%r8,4),%rdx
140003398:	8b 02                	mov    (%rdx),%eax
14000339a:	8b f0                	mov    %eax,%esi
14000339c:	41 8b cf             	mov    %r15d,%ecx
14000339f:	d3 ee                	shr    %cl,%esi
1400033a1:	8b cb                	mov    %ebx,%ecx
1400033a3:	d3 e0                	shl    %cl,%eax
1400033a5:	41 03 c1             	add    %r9d,%eax
1400033a8:	89 02                	mov    %eax,(%rdx)
1400033aa:	44 8b ce             	mov    %esi,%r9d
1400033ad:	49 ff c0             	inc    %r8
1400033b0:	4d 3b c2             	cmp    %r10,%r8
1400033b3:	72 db                	jb     0x140003390
1400033b5:	85 f6                	test   %esi,%esi
1400033b7:	74 27                	je     0x1400033e0
1400033b9:	48 8b 4d 40          	mov    0x40(%rbp),%rcx
1400033bd:	48 8d 51 01          	lea    0x1(%rcx),%rdx
1400033c1:	48 3b 55 48          	cmp    0x48(%rbp),%rdx
1400033c5:	76 0e                	jbe    0x1400033d5
1400033c7:	48 8b 45 30          	mov    0x30(%rbp),%rax
1400033cb:	48 8d 4d 30          	lea    0x30(%rbp),%rcx
1400033cf:	ff 10                	call   *(%rax)
1400033d1:	48 8b 4d 40          	mov    0x40(%rbp),%rcx
1400033d5:	48 8b 45 38          	mov    0x38(%rbp),%rax
1400033d9:	89 34 88             	mov    %esi,(%rax,%rcx,4)
1400033dc:	48 ff 45 40          	incq   0x40(%rbp)
1400033e0:	be 01 00 00 00       	mov    $0x1,%esi
1400033e5:	48 8b 85 e8 00 00 00 	mov    0xe8(%rbp),%rax
1400033ec:	89 30                	mov    %esi,(%rax)
1400033ee:	48 8b 85 f8 00 00 00 	mov    0xf8(%rbp),%rax
1400033f5:	48 3b f0             	cmp    %rax,%rsi
1400033f8:	76 1c                	jbe    0x140003416
1400033fa:	48 8b 85 e0 00 00 00 	mov    0xe0(%rbp),%rax
140003401:	8b d6                	mov    %esi,%edx
140003403:	48 8d 8d e0 00 00 00 	lea    0xe0(%rbp),%rcx
14000340a:	ff 10                	call   *(%rax)
14000340c:	48 8b 85 f8 00 00 00 	mov    0xf8(%rbp),%rax
140003413:	48 3b f0             	cmp    %rax,%rsi
140003416:	48 0f 46 c6          	cmovbe %rsi,%rax
14000341a:	48 89 85 f0 00 00 00 	mov    %rax,0xf0(%rbp)
140003421:	89 bd 88 01 00 00    	mov    %edi,0x188(%rbp)
140003427:	45 84 ed             	test   %r13b,%r13b
14000342a:	74 50                	je     0x14000347c
14000342c:	48 8b 85 98 01 00 00 	mov    0x198(%rbp),%rax
140003433:	c7 00 02 00 00 00    	movl   $0x2,(%rax)
140003439:	48 8b 85 a8 01 00 00 	mov    0x1a8(%rbp),%rax
140003440:	48 3b f0             	cmp    %rax,%rsi
140003443:	76 1d                	jbe    0x140003462
140003445:	48 8b 85 90 01 00 00 	mov    0x190(%rbp),%rax
14000344c:	48 8b d6             	mov    %rsi,%rdx
14000344f:	48 8d 8d 90 01 00 00 	lea    0x190(%rbp),%rcx
140003456:	ff 10                	call   *(%rax)
140003458:	48 8b 85 a8 01 00 00 	mov    0x1a8(%rbp),%rax
14000345f:	48 3b f0             	cmp    %rax,%rsi
140003462:	48 0f 46 c6          	cmovbe %rsi,%rax
140003466:	48 89 85 a0 01 00 00 	mov    %rax,0x1a0(%rbp)
14000346d:	89 bd 38 02 00 00    	mov    %edi,0x238(%rbp)
140003473:	48 8d 85 90 01 00 00 	lea    0x190(%rbp),%rax
14000347a:	eb 03                	jmp    0x14000347f
14000347c:	48 8b c7             	mov    %rdi,%rax
14000347f:	4c 8b 6c 24 28       	mov    0x28(%rsp),%r13
140003484:	41 8b 5d 00          	mov    0x0(%r13),%ebx
140003488:	f7 d3                	not    %ebx
14000348a:	83 e3 01             	and    $0x1,%ebx
14000348d:	89 5c 24 20          	mov    %ebx,0x20(%rsp)
140003491:	4c 8d b5 e0 00 00 00 	lea    0xe0(%rbp),%r14
140003498:	48 85 c0             	test   %rax,%rax
14000349b:	4c 0f 45 f0          	cmovne %rax,%r14
14000349f:	44 8b 7c 24 48       	mov    0x48(%rsp),%r15d
1400034a4:	41 f6 c7 02          	test   $0x2,%r15b
1400034a8:	0f 84 3d 01 00 00    	je     0x1400035eb
1400034ae:	4c 8d 45 30          	lea    0x30(%rbp),%r8
1400034b2:	49 8b d6             	mov    %r14,%rdx
1400034b5:	48 8d 4d 80          	lea    -0x80(%rbp),%rcx
1400034b9:	e8 92 ee ff ff       	call   0x140002350
1400034be:	03 c3                	add    %ebx,%eax
1400034c0:	4c 8b 6c 24 38       	mov    0x38(%rsp),%r13
1400034c5:	85 c0                	test   %eax,%eax
1400034c7:	0f 8f 01 01 00 00    	jg     0x1400035ce
1400034cd:	41 ff 4d 00          	decl   0x0(%r13)
1400034d1:	8b df                	mov    %edi,%ebx
1400034d3:	4c 8b 4d 90          	mov    -0x70(%rbp),%r9
1400034d7:	4c 8b c7             	mov    %rdi,%r8
1400034da:	4d 85 c9             	test   %r9,%r9
1400034dd:	74 4e                	je     0x14000352d
1400034df:	90                   	nop
1400034e0:	48 8b 45 88          	mov    -0x78(%rbp),%rax
1400034e4:	4a 8d 14 80          	lea    (%rax,%r8,4),%rdx
1400034e8:	8b 02                	mov    (%rdx),%eax
1400034ea:	48 8d 0c 80          	lea    (%rax,%rax,4),%rcx
1400034ee:	8b c3                	mov    %ebx,%eax
1400034f0:	48 8d 1c 48          	lea    (%rax,%rcx,2),%rbx
1400034f4:	89 1a                	mov    %ebx,(%rdx)
1400034f6:	48 c1 eb 20          	shr    $0x20,%rbx
1400034fa:	49 ff c0             	inc    %r8
1400034fd:	4d 3b c1             	cmp    %r9,%r8
140003500:	72 de                	jb     0x1400034e0
140003502:	85 db                	test   %ebx,%ebx
140003504:	74 27                	je     0x14000352d
140003506:	48 8b 4d 90          	mov    -0x70(%rbp),%rcx
14000350a:	48 8d 51 01          	lea    0x1(%rcx),%rdx
14000350e:	48 3b 55 98          	cmp    -0x68(%rbp),%rdx
140003512:	76 0e                	jbe    0x140003522
140003514:	48 8b 45 80          	mov    -0x80(%rbp),%rax
140003518:	48 8d 4d 80          	lea    -0x80(%rbp),%rcx
14000351c:	ff 10                	call   *(%rax)
14000351e:	48 8b 4d 90          	mov    -0x70(%rbp),%rcx
140003522:	48 8b 45 88          	mov    -0x78(%rbp),%rax
140003526:	89 1c 88             	mov    %ebx,(%rax,%rcx,4)
140003529:	48 ff 45 90          	incq   -0x70(%rbp)
14000352d:	83 7c 24 40 00       	cmpl   $0x0,0x40(%rsp)
140003532:	0f 8d 96 00 00 00    	jge    0x1400035ce
140003538:	8b df                	mov    %edi,%ebx
14000353a:	4c 8b 8d f0 00 00 00 	mov    0xf0(%rbp),%r9
140003541:	4c 8b c7             	mov    %rdi,%r8
140003544:	4d 85 c9             	test   %r9,%r9
140003547:	74 6c                	je     0x1400035b5
140003549:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
140003550:	48 8b 85 e8 00 00 00 	mov    0xe8(%rbp),%rax
140003557:	4a 8d 14 80          	lea    (%rax,%r8,4),%rdx
14000355b:	8b 02                	mov    (%rdx),%eax
14000355d:	48 8d 0c 80          	lea    (%rax,%rax,4),%rcx
140003561:	8b c3                	mov    %ebx,%eax
140003563:	48 8d 1c 48          	lea    (%rax,%rcx,2),%rbx
140003567:	89 1a                	mov    %ebx,(%rdx)
140003569:	48 c1 eb 20          	shr    $0x20,%rbx
14000356d:	49 ff c0             	inc    %r8
140003570:	4d 3b c1             	cmp    %r9,%r8
140003573:	72 db                	jb     0x140003550
140003575:	85 db                	test   %ebx,%ebx
140003577:	74 3c                	je     0x1400035b5
140003579:	48 8b 8d f0 00 00 00 	mov    0xf0(%rbp),%rcx
140003580:	48 8d 51 01          	lea    0x1(%rcx),%rdx
140003584:	48 3b 95 f8 00 00 00 	cmp    0xf8(%rbp),%rdx
14000358b:	76 17                	jbe    0x1400035a4
14000358d:	48 8b 85 e0 00 00 00 	mov    0xe0(%rbp),%rax
140003594:	48 8d 8d e0 00 00 00 	lea    0xe0(%rbp),%rcx
14000359b:	ff 10                	call   *(%rax)
14000359d:	48 8b 8d f0 00 00 00 	mov    0xf0(%rbp),%rcx
1400035a4:	48 8b 85 e8 00 00 00 	mov    0xe8(%rbp),%rax
1400035ab:	89 1c 88             	mov    %ebx,(%rax,%rcx,4)
1400035ae:	48 ff 85 f0 00 00 00 	incq   0xf0(%rbp)
1400035b5:	48 8d 85 e0 00 00 00 	lea    0xe0(%rbp),%rax
1400035bc:	4c 3b f0             	cmp    %rax,%r14
1400035bf:	74 0d                	je     0x1400035ce
1400035c1:	ba 0a 00 00 00       	mov    $0xa,%edx
1400035c6:	49 8b ce             	mov    %r14,%rcx
1400035c9:	e8 d2 5c 00 00       	call   0x1400092a0
1400035ce:	41 f6 c7 04          	test   $0x4,%r15b
1400035d2:	74 17                	je     0x1400035eb
1400035d4:	41 8b 55 00          	mov    0x0(%r13),%edx
1400035d8:	ff c2                	inc    %edx
1400035da:	48 8d 4c 24 70       	lea    0x70(%rsp),%rcx
1400035df:	e8 dc e6 ff ff       	call   0x140001cc0
1400035e4:	44 8b 7c 24 70       	mov    0x70(%rsp),%r15d
1400035e9:	eb 05                	jmp    0x1400035f0
1400035eb:	44 8b 7c 24 40       	mov    0x40(%rsp),%r15d
1400035f0:	45 85 ff             	test   %r15d,%r15d
1400035f3:	0f 89 4a 02 00 00    	jns    0x140003843
1400035f9:	44 8b ef             	mov    %edi,%r13d
1400035fc:	49 8b 4c 24 08       	mov    0x8(%r12),%rcx
140003601:	48 89 4c 24 28       	mov    %rcx,0x28(%rsp)
140003606:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%rax,%rax,1)
14000360d:	00 00 00
140003610:	48 8d 55 30          	lea    0x30(%rbp),%rdx
140003614:	48 8d 4d 80          	lea    -0x80(%rbp),%rcx
140003618:	e8 b3 f2 ff ff       	call   0x1400028d0
14000361d:	44 8b f8             	mov    %eax,%r15d
140003620:	44 8b 4d 90          	mov    -0x70(%rbp),%r9d
140003624:	8b 55 28             	mov    0x28(%rbp),%edx
140003627:	41 03 d1             	add    %r9d,%edx
14000362a:	44 8b 95 f0 00 00 00 	mov    0xf0(%rbp),%r10d
140003631:	44 8b 85 88 01 00 00 	mov    0x188(%rbp),%r8d
140003638:	45 03 c2             	add    %r10d,%r8d
14000363b:	41 3b d0             	cmp    %r8d,%edx
14000363e:	74 0a                	je     0x14000364a
140003640:	bb ff ff ff ff       	mov    $0xffffffff,%ebx
140003645:	0f 4f de             	cmovg  %esi,%ebx
140003648:	eb 53                	jmp    0x14000369d
14000364a:	41 8d 49 ff          	lea    -0x1(%r9),%ecx
14000364e:	41 8d 52 ff          	lea    -0x1(%r10),%edx
140003652:	8b c1                	mov    %ecx,%eax
140003654:	2b c2                	sub    %edx,%eax
140003656:	44 8b d7             	mov    %edi,%r10d
140003659:	44 0f 49 d0          	cmovns %eax,%r10d
14000365d:	41 3b ca             	cmp    %r10d,%ecx
140003660:	7c 21                	jl     0x140003683
140003662:	4c 8b 5d 88          	mov    -0x78(%rbp),%r11
140003666:	48 8b 9d e8 00 00 00 	mov    0xe8(%rbp),%rbx
14000366d:	0f 1f 00             	nopl   (%rax)
140003670:	45 8b 04 8b          	mov    (%r11,%rcx,4),%r8d
140003674:	44 3b 04 93          	cmp    (%rbx,%rdx,4),%r8d
140003678:	75 17                	jne    0x140003691
14000367a:	ff c9                	dec    %ecx
14000367c:	ff ca                	dec    %edx
14000367e:	41 3b ca             	cmp    %r10d,%ecx
140003681:	7d ed                	jge    0x140003670
140003683:	3b ca                	cmp    %edx,%ecx
140003685:	74 14                	je     0x14000369b
140003687:	bb ff ff ff ff       	mov    $0xffffffff,%ebx
14000368c:	0f 4f de             	cmovg  %esi,%ebx
14000368f:	eb 0c                	jmp    0x14000369d
140003691:	bb ff ff ff ff       	mov    $0xffffffff,%ebx
140003696:	0f 47 de             	cmova  %esi,%ebx
140003699:	eb 02                	jmp    0x14000369d
14000369b:	8b df                	mov    %edi,%ebx
14000369d:	2b 5c 24 20          	sub    0x20(%rsp),%ebx
1400036a1:	c1 eb 1f             	shr    $0x1f,%ebx
1400036a4:	4c 8d 45 30          	lea    0x30(%rbp),%r8
1400036a8:	49 8b d6             	mov    %r14,%rdx
1400036ab:	48 8d 4d 80          	lea    -0x80(%rbp),%rcx
1400036af:	e8 9c ec ff ff       	call   0x140002350
1400036b4:	8b 54 24 20          	mov    0x20(%rsp),%edx
1400036b8:	03 d0                	add    %eax,%edx
1400036ba:	41 8d 4f 30          	lea    0x30(%r15),%ecx
1400036be:	49 63 c5             	movslq %r13d,%rax
1400036c1:	4c 8b 44 24 28       	mov    0x28(%rsp),%r8
1400036c6:	42 88 0c 00          	mov    %cl,(%rax,%r8,1)
1400036ca:	41 ff c5             	inc    %r13d
1400036cd:	84 db                	test   %bl,%bl
1400036cf:	0f 85 0c 01 00 00    	jne    0x1400037e1
1400036d5:	85 d2                	test   %edx,%edx
1400036d7:	0f 8f fa 00 00 00    	jg     0x1400037d7
1400036dd:	8b df                	mov    %edi,%ebx
1400036df:	4c 8b 4d 90          	mov    -0x70(%rbp),%r9
1400036e3:	4c 8b c7             	mov    %rdi,%r8
1400036e6:	4d 85 c9             	test   %r9,%r9
1400036e9:	74 52                	je     0x14000373d
1400036eb:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1400036f0:	48 8b 45 88          	mov    -0x78(%rbp),%rax
1400036f4:	4a 8d 14 80          	lea    (%rax,%r8,4),%rdx
1400036f8:	8b 02                	mov    (%rdx),%eax
1400036fa:	48 8d 0c 80          	lea    (%rax,%rax,4),%rcx
1400036fe:	8b c3                	mov    %ebx,%eax
140003700:	48 8d 1c 48          	lea    (%rax,%rcx,2),%rbx
140003704:	89 1a                	mov    %ebx,(%rdx)
140003706:	48 c1 eb 20          	shr    $0x20,%rbx
14000370a:	49 ff c0             	inc    %r8
14000370d:	4d 3b c1             	cmp    %r9,%r8
140003710:	72 de                	jb     0x1400036f0
140003712:	85 db                	test   %ebx,%ebx
140003714:	74 27                	je     0x14000373d
140003716:	48 8b 4d 90          	mov    -0x70(%rbp),%rcx
14000371a:	48 8d 51 01          	lea    0x1(%rcx),%rdx
14000371e:	48 3b 55 98          	cmp    -0x68(%rbp),%rdx
140003722:	76 0e                	jbe    0x140003732
140003724:	48 8d 4d 80          	lea    -0x80(%rbp),%rcx
140003728:	48 8b 45 80          	mov    -0x80(%rbp),%rax
14000372c:	ff 10                	call   *(%rax)
14000372e:	48 8b 4d 90          	mov    -0x70(%rbp),%rcx
140003732:	48 8b 45 88          	mov    -0x78(%rbp),%rax
140003736:	89 1c 88             	mov    %ebx,(%rax,%rcx,4)
140003739:	48 ff 45 90          	incq   -0x70(%rbp)
14000373d:	8b df                	mov    %edi,%ebx
14000373f:	4c 8b 8d f0 00 00 00 	mov    0xf0(%rbp),%r9
140003746:	4c 8b c7             	mov    %rdi,%r8
140003749:	4d 85 c9             	test   %r9,%r9
14000374c:	74 67                	je     0x1400037b5
14000374e:	66 90                	xchg   %ax,%ax
140003750:	48 8b 85 e8 00 00 00 	mov    0xe8(%rbp),%rax
140003757:	4a 8d 14 80          	lea    (%rax,%r8,4),%rdx
14000375b:	8b 02                	mov    (%rdx),%eax
14000375d:	48 8d 0c 80          	lea    (%rax,%rax,4),%rcx
140003761:	8b c3                	mov    %ebx,%eax
140003763:	48 8d 1c 48          	lea    (%rax,%rcx,2),%rbx
140003767:	89 1a                	mov    %ebx,(%rdx)
140003769:	48 c1 eb 20          	shr    $0x20,%rbx
14000376d:	49 ff c0             	inc    %r8
140003770:	4d 3b c1             	cmp    %r9,%r8
140003773:	72 db                	jb     0x140003750
140003775:	85 db                	test   %ebx,%ebx
140003777:	74 3c                	je     0x1400037b5
140003779:	48 8b 8d f0 00 00 00 	mov    0xf0(%rbp),%rcx
140003780:	48 8d 51 01          	lea    0x1(%rcx),%rdx
140003784:	48 3b 95 f8 00 00 00 	cmp    0xf8(%rbp),%rdx
14000378b:	76 17                	jbe    0x1400037a4
14000378d:	48 8d 8d e0 00 00 00 	lea    0xe0(%rbp),%rcx
140003794:	48 8b 85 e0 00 00 00 	mov    0xe0(%rbp),%rax
14000379b:	ff 10                	call   *(%rax)
14000379d:	48 8b 8d f0 00 00 00 	mov    0xf0(%rbp),%rcx
1400037a4:	48 8b 85 e8 00 00 00 	mov    0xe8(%rbp),%rax
1400037ab:	89 1c 88             	mov    %ebx,(%rax,%rcx,4)
1400037ae:	48 ff 85 f0 00 00 00 	incq   0xf0(%rbp)
1400037b5:	48 8d 85 e0 00 00 00 	lea    0xe0(%rbp),%rax
1400037bc:	4c 3b f0             	cmp    %rax,%r14
1400037bf:	0f 84 4b fe ff ff    	je     0x140003610
1400037c5:	ba 0a 00 00 00       	mov    $0xa,%edx
1400037ca:	49 8b ce             	mov    %r14,%rcx
1400037cd:	e8 ce 5a 00 00       	call   0x1400092a0
1400037d2:	e9 39 fe ff ff       	jmp    0x140003610
1400037d7:	49 63 c5             	movslq %r13d,%rax
1400037da:	42 fe 44 00 ff       	incb   -0x1(%rax,%r8,1)
1400037df:	eb 2d                	jmp    0x14000380e
1400037e1:	85 d2                	test   %edx,%edx
1400037e3:	7e 29                	jle    0x14000380e
1400037e5:	4c 8d 45 30          	lea    0x30(%rbp),%r8
1400037e9:	48 8d 55 80          	lea    -0x80(%rbp),%rdx
1400037ed:	48 8d 4d 80          	lea    -0x80(%rbp),%rcx
1400037f1:	e8 5a eb ff ff       	call   0x140002350
1400037f6:	85 c0                	test   %eax,%eax
1400037f8:	7f 08                	jg     0x140003802
1400037fa:	75 12                	jne    0x14000380e
1400037fc:	41 f6 c7 01          	test   $0x1,%r15b
140003800:	74 0c                	je     0x14000380e
140003802:	49 63 c5             	movslq %r13d,%rax
140003805:	48 8b 4c 24 28       	mov    0x28(%rsp),%rcx
14000380a:	fe 44 08 ff          	incb   -0x1(%rax,%rcx,1)