6b9486:	80 fa 03             	cmp    $0x3,%dl
6b9489:	73 07                	jae    0x6b9492
6b948b:	c6 86 94 01 00 00 03 	movb   $0x3,0x194(%esi)
6b9492:	8a 8e 94 01 00 00    	mov    0x194(%esi),%cl
6b9498:	bf 01 00 00 00       	mov    $0x1,%edi
6b949d:	d3 e7                	shl    %cl,%edi
6b949f:	8b 4e 10             	mov    0x10(%esi),%ecx
6b94a2:	89 7c 24 28          	mov    %edi,0x28(%esp)
6b94a6:	8d 04 7f             	lea    (%edi,%edi,2),%eax
6b94a9:	c1 e0 02             	shl    $0x2,%eax
6b94ac:	50                   	push   %eax
6b94ad:	ff b6 8c 01 00 00    	push   0x18c(%esi)
6b94b3:	ff d1                	call   *%ecx
6b94b5:	83 c4 08             	add    $0x8,%esp
6b94b8:	85 c0                	test   %eax,%eax
6b94ba:	0f 84 ed fb ff ff    	je     0x6b90ad
6b94c0:	89 86 8c 01 00 00    	mov    %eax,0x18c(%esi)
6b94c6:	eb 08                	jmp    0x6b94d0
6b94c8:	8b 44 24 24          	mov    0x24(%esp),%eax
6b94cc:	85 c0                	test   %eax,%eax
6b94ce:	75 39                	jne    0x6b9509
6b94d0:	83 c8 ff             	or     $0xffffffff,%eax
6b94d3:	8b d7                	mov    %edi,%edx
6b94d5:	89 44 24 24          	mov    %eax,0x24(%esp)
6b94d9:	85 ff                	test   %edi,%edi
6b94db:	74 2c                	je     0x6b9509
6b94dd:	8d 0c 7f             	lea    (%edi,%edi,2),%ecx
6b94e0:	c1 e1 02             	shl    $0x2,%ecx
6b94e3:	0f 1f 40 00          	nopl   0x0(%eax)
6b94e7:	66 0f 1f 84 00 00 00 	nopw   0x0(%eax,%eax,1)
6b94ee:	00 00
6b94f0:	8b 86 8c 01 00 00    	mov    0x18c(%esi),%eax
6b94f6:	8d 49 f4             	lea    -0xc(%ecx),%ecx
6b94f9:	c7 04 01 ff ff ff ff 	movl   $0xffffffff,(%ecx,%eax,1)
6b9500:	83 ea 01             	sub    $0x1,%edx
6b9503:	75 eb                	jne    0x6b94f0
6b9505:	8b 44 24 24          	mov    0x24(%esp),%eax
6b9509:	48                   	dec    %eax
6b950a:	89 44 24 24          	mov    %eax,0x24(%esp)
6b950e:	89 86 90 01 00 00    	mov    %eax,0x190(%esi)
6b9514:	85 ed                	test   %ebp,%ebp
6b9516:	0f 8e b6 02 00 00    	jle    0x6b97d2
6b951c:	8b 44 24 18          	mov    0x18(%esp),%eax
6b9520:	8b 3c 98             	mov    (%eax,%ebx,4),%edi
6b9523:	8d 0c 98             	lea    (%eax,%ebx,4),%ecx
6b9526:	89 4c 24 40          	mov    %ecx,0x40(%esp)
6b952a:	80 7f ff 02          	cmpb   $0x2,-0x1(%edi)
6b952e:	0f 85 69 02 00 00    	jne    0x6b979d
6b9534:	8b 44 24 3c          	mov    0x3c(%esp),%eax
6b9538:	8b ae f0 01 00 00    	mov    0x1f0(%esi),%ebp
6b953e:	83 c0 28             	add    $0x28,%eax
6b9541:	6a 00                	push   $0x0
6b9543:	57                   	push   %edi
6b9544:	50                   	push   %eax
6b9545:	56                   	push   %esi
6b9546:	c6 47 ff 00          	movb   $0x0,-0x1(%edi)
6b954a:	e8 a1 de ff ff       	call   0x6b73f0
6b954f:	83 c4 10             	add    $0x10,%esp
6b9552:	8b 40 04             	mov    0x4(%eax),%eax
6b9555:	8b 40 04             	mov    0x4(%eax),%eax
6b9558:	89 44 24 34          	mov    %eax,0x34(%esp)
6b955c:	85 c0                	test   %eax,%eax
6b955e:	0f 84 ba 02 00 00    	je     0x6b981e
6b9564:	33 db                	xor    %ebx,%ebx
6b9566:	39 58 14             	cmp    %ebx,0x14(%eax)
6b9569:	7e 5b                	jle    0x6b95c6
6b956b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
6b9570:	8b 40 10             	mov    0x10(%eax),%eax
6b9573:	8a 0c 03             	mov    (%ebx,%eax,1),%cl
6b9576:	8b 86 ac 01 00 00    	mov    0x1ac(%esi),%eax
6b957c:	88 4c 24 13          	mov    %cl,0x13(%esp)
6b9580:	3b 86 a8 01 00 00    	cmp    0x1a8(%esi),%eax
6b9586:	75 1b                	jne    0x6b95a3
6b9588:	8d 86 a0 01 00 00    	lea    0x1a0(%esi),%eax
6b958e:	50                   	push   %eax
6b958f:	e8 6c ec ff ff       	call   0x6b8200
6b9594:	83 c4 04             	add    $0x4,%esp
6b9597:	84 c0                	test   %al,%al
6b9599:	0f 84 0e fb ff ff    	je     0x6b90ad
6b959f:	8a 4c 24 13          	mov    0x13(%esp),%cl
6b95a3:	8b 86 ac 01 00 00    	mov    0x1ac(%esi),%eax
6b95a9:	43                   	inc    %ebx
6b95aa:	69 ed 43 42 0f 00    	imul   $0xf4243,%ebp,%ebp
6b95b0:	88 08                	mov    %cl,(%eax)
6b95b2:	ff 86 ac 01 00 00    	incl   0x1ac(%esi)
6b95b8:	0f b6 c1             	movzbl %cl,%eax
6b95bb:	33 e8                	xor    %eax,%ebp
6b95bd:	8b 44 24 34          	mov    0x34(%esp),%eax
6b95c1:	3b 58 14             	cmp    0x14(%eax),%ebx
6b95c4:	7c aa                	jl     0x6b9570
6b95c6:	8a 07                	mov    (%edi),%al
6b95c8:	47                   	inc    %edi
6b95c9:	3c 3a                	cmp    $0x3a,%al
6b95cb:	75 f9                	jne    0x6b95c6
6b95cd:	0f 1f 00             	nopl   (%eax)
6b95d0:	8b 86 ac 01 00 00    	mov    0x1ac(%esi),%eax
6b95d6:	8a 1f                	mov    (%edi),%bl
6b95d8:	3b 86 a8 01 00 00    	cmp    0x1a8(%esi),%eax
6b95de:	75 17                	jne    0x6b95f7
6b95e0:	8d 86 a0 01 00 00    	lea    0x1a0(%esi),%eax
6b95e6:	50                   	push   %eax
6b95e7:	e8 14 ec ff ff       	call   0x6b8200
6b95ec:	83 c4 04             	add    $0x4,%esp
6b95ef:	84 c0                	test   %al,%al
6b95f1:	0f 84 b6 fa ff ff    	je     0x6b90ad
6b95f7:	8b 8e ac 01 00 00    	mov    0x1ac(%esi),%ecx
6b95fd:	8a 07                	mov    (%edi),%al
6b95ff:	69 ed 43 42 0f 00    	imul   $0xf4243,%ebp,%ebp
6b9605:	88 01                	mov    %al,(%ecx)
6b9607:	ff 86 ac 01 00 00    	incl   0x1ac(%esi)
6b960d:	8b 96 ac 01 00 00    	mov    0x1ac(%esi),%edx
6b9613:	0f b6 c3             	movzbl %bl,%eax
6b9616:	33 e8                	xor    %eax,%ebp
6b9618:	89 54 24 38          	mov    %edx,0x38(%esp)
6b961c:	8a 07                	mov    (%edi),%al
6b961e:	47                   	inc    %edi
6b961f:	89 6c 24 2c          	mov    %ebp,0x2c(%esp)
6b9623:	84 c0                	test   %al,%al
6b9625:	75 a9                	jne    0x6b95d0
6b9627:	8b 6c 24 28          	mov    0x28(%esp),%ebp
6b962b:	32 db                	xor    %bl,%bl
6b962d:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
6b9631:	4d                   	dec    %ebp
6b9632:	8b be 8c 01 00 00    	mov    0x18c(%esi),%edi
6b9638:	23 e9                	and    %ecx,%ebp
6b963a:	8b 74 24 24          	mov    0x24(%esp),%esi
6b963e:	8d 04 6d 00 00 00 00 	lea    0x0(,%ebp,2),%eax
6b9645:	03 c5                	add    %ebp,%eax
6b9647:	c1 e0 02             	shl    $0x2,%eax
6b964a:	39 34 38             	cmp    %esi,(%eax,%edi,1)
6b964d:	8b 74 24 48          	mov    0x48(%esp),%esi
6b9651:	0f 85 8d 00 00 00    	jne    0x6b96e4
6b9657:	3b 4c 07 04          	cmp    0x4(%edi,%eax,1),%ecx
6b965b:	8d 14 07             	lea    (%edi,%eax,1),%edx
6b965e:	75 2f                	jne    0x6b968f
6b9660:	8b 86 b0 01 00 00    	mov    0x1b0(%esi),%eax
6b9666:	8b 52 08             	mov    0x8(%edx),%edx
6b9669:	8a 08                	mov    (%eax),%cl
6b966b:	3a 0a                	cmp    (%edx),%cl
6b966d:	75 13                	jne    0x6b9682
6b966f:	2b d0                	sub    %eax,%edx
6b9671:	84 c9                	test   %cl,%cl
6b9673:	0f 84 33 fd ff ff    	je     0x6b93ac
6b9679:	8a 48 01             	mov    0x1(%eax),%cl
6b967c:	40                   	inc    %eax
6b967d:	3a 0c 02             	cmp    (%edx,%eax,1),%cl
6b9680:	74 ef                	je     0x6b9671
6b9682:	80 38 00             	cmpb   $0x0,(%eax)
6b9685:	0f 84 21 fd ff ff    	je     0x6b93ac
6b968b:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
6b968f:	8b 54 24 28          	mov    0x28(%esp),%edx
6b9693:	84 db                	test   %bl,%bl
6b9695:	75 1b                	jne    0x6b96b2
6b9697:	8d 42 ff             	lea    -0x1(%edx),%eax
6b969a:	8b d8                	mov    %eax,%ebx
6b969c:	c1 e8 02             	shr    $0x2,%eax
6b969f:	f7 d3                	not    %ebx
6b96a1:	23 d9                	and    %ecx,%ebx
6b96a3:	0f b6 8e 94 01 00 00 	movzbl 0x194(%esi),%ecx
6b96aa:	49                   	dec    %ecx
6b96ab:	d3 eb                	shr    %cl,%ebx
6b96ad:	22 d8                	and    %al,%bl
6b96af:	80 cb 01             	or     $0x1,%bl
6b96b2:	0f b6 cb             	movzbl %bl,%ecx
6b96b5:	3b e9                	cmp    %ecx,%ebp
6b96b7:	7d 08                	jge    0x6b96c1
6b96b9:	8b c2                	mov    %edx,%eax
6b96bb:	2b c1                	sub    %ecx,%eax
6b96bd:	03 e8                	add    %eax,%ebp
6b96bf:	eb 02                	jmp    0x6b96c3
6b96c1:	2b e9                	sub    %ecx,%ebp
6b96c3:	8b 4c 24 24          	mov    0x24(%esp),%ecx
6b96c7:	8d 04 6d 00 00 00 00 	lea    0x0(,%ebp,2),%eax
6b96ce:	03 c5                	add    %ebp,%eax
6b96d0:	c1 e0 02             	shl    $0x2,%eax
6b96d3:	39 0c 38             	cmp    %ecx,(%eax,%edi,1)
6b96d6:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
6b96da:	0f 84 77 ff ff ff    	je     0x6b9657
6b96e0:	8b 54 24 38          	mov    0x38(%esp),%edx
6b96e4:	80 be ed 00 00 00 00 	cmpb   $0x0,0xed(%esi)
6b96eb:	74 57                	je     0x6b9744
6b96ed:	8a 86 d8 01 00 00    	mov    0x1d8(%esi),%al
6b96f3:	88 42 ff             	mov    %al,-0x1(%edx)
6b96f6:	8b 44 24 34          	mov    0x34(%esp),%eax
6b96fa:	8b 00                	mov    (%eax),%eax
6b96fc:	8b 38                	mov    (%eax),%edi
6b96fe:	66 90                	xchg   %ax,%ax
6b9700:	8b 86 ac 01 00 00    	mov    0x1ac(%esi),%eax
6b9706:	3b 86 a8 01 00 00    	cmp    0x1a8(%esi),%eax
6b970c:	75 17                	jne    0x6b9725
6b970e:	8d 86 a0 01 00 00    	lea    0x1a0(%esi),%eax
6b9714:	50                   	push   %eax
6b9715:	e8 e6 ea ff ff       	call   0x6b8200
6b971a:	83 c4 04             	add    $0x4,%esp
6b971d:	84 c0                	test   %al,%al
6b971f:	0f 84 88 f9 ff ff    	je     0x6b90ad
6b9725:	8b 8e ac 01 00 00    	mov    0x1ac(%esi),%ecx
6b972b:	8a 07                	mov    (%edi),%al
6b972d:	88 01                	mov    %al,(%ecx)
6b972f:	ff 86 ac 01 00 00    	incl   0x1ac(%esi)
6b9735:	8a 07                	mov    (%edi),%al
6b9737:	47                   	inc    %edi
6b9738:	8b 8e ac 01 00 00    	mov    0x1ac(%esi),%ecx
6b973e:	84 c0                	test   %al,%al
6b9740:	75 be                	jne    0x6b9700
6b9742:	eb 04                	jmp    0x6b9748
6b9744:	8b 4c 24 38          	mov    0x38(%esp),%ecx
6b9748:	8b 96 b0 01 00 00    	mov    0x1b0(%esi),%edx
6b974e:	8b 44 24 40          	mov    0x40(%esp),%eax
6b9752:	8b 5c 24 24          	mov    0x24(%esp),%ebx
6b9756:	8b 7c 24 2c          	mov    0x2c(%esp),%edi
6b975a:	89 8e b0 01 00 00    	mov    %ecx,0x1b0(%esi)
6b9760:	8d 0c 6d 00 00 00 00 	lea    0x0(,%ebp,2),%ecx
6b9767:	89 10                	mov    %edx,(%eax)
6b9769:	03 cd                	add    %ebp,%ecx
6b976b:	83 6c 24 1c 01       	subl   $0x1,0x1c(%esp)
6b9770:	8b 86 8c 01 00 00    	mov    0x18c(%esi),%eax
6b9776:	8b 6c 24 14          	mov    0x14(%esp),%ebp
6b977a:	89 1c 88             	mov    %ebx,(%eax,%ecx,4)
6b977d:	8b 86 8c 01 00 00    	mov    0x18c(%esi),%eax
6b9783:	8b 5c 24 30          	mov    0x30(%esp),%ebx
6b9787:	89 7c 88 04          	mov    %edi,0x4(%eax,%ecx,4)
6b978b:	8b 86 8c 01 00 00    	mov    0x18c(%esi),%eax
6b9791:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
6b9795:	74 1b                	je     0x6b97b2
6b9797:	8b 44 24 18          	mov    0x18(%esp),%eax
6b979b:	eb 04                	jmp    0x6b97a1
6b979d:	c6 47 ff 00          	movb   $0x0,-0x1(%edi)
6b97a1:	83 c3 02             	add    $0x2,%ebx
6b97a4:	89 5c 24 30          	mov    %ebx,0x30(%esp)
6b97a8:	3b dd                	cmp    %ebp,%ebx
6b97aa:	0f 8c 70 fd ff ff    	jl     0x6b9520
6b97b0:	eb 20                	jmp    0x6b97d2
6b97b2:	83 c3 02             	add    $0x2,%ebx
6b97b5:	3b dd                	cmp    %ebp,%ebx
6b97b7:	7d 19                	jge    0x6b97d2
6b97b9:	8b 74 24 18          	mov    0x18(%esp),%esi
6b97bd:	0f 1f 00             	nopl   (%eax)
6b97c0:	8b 04 9e             	mov    (%esi,%ebx,4),%eax
6b97c3:	83 c3 02             	add    $0x2,%ebx
6b97c6:	c6 40 ff 00          	movb   $0x0,-0x1(%eax)
6b97ca:	3b dd                	cmp    %ebp,%ebx
6b97cc:	7c f2                	jl     0x6b97c0
6b97ce:	8b 74 24 48          	mov    0x48(%esp),%esi
6b97d2:	8b 44 24 58          	mov    0x58(%esp),%eax
6b97d6:	8b 08                	mov    (%eax),%ecx
6b97d8:	85 c9                	test   %ecx,%ecx
6b97da:	74 14                	je     0x6b97f0
6b97dc:	0f 1f 40 00          	nopl   0x0(%eax)
6b97e0:	8b 41 0c             	mov    0xc(%ecx),%eax
6b97e3:	8b 00                	mov    (%eax),%eax
6b97e5:	c6 40 ff 00          	movb   $0x0,-0x1(%eax)
6b97e9:	8b 49 04             	mov    0x4(%ecx),%ecx
6b97ec:	85 c9                	test   %ecx,%ecx
6b97ee:	75 f0                	jne    0x6b97e0
6b97f0:	80 be ec 00 00 00 00 	cmpb   $0x0,0xec(%esi)
6b97f7:	0f 84 3b 01 00 00    	je     0x6b9938
6b97fd:	8b 44 24 20          	mov    0x20(%esp),%eax
6b9801:	8b 58 04             	mov    0x4(%eax),%ebx
6b9804:	85 db                	test   %ebx,%ebx
6b9806:	74 23                	je     0x6b982b
6b9808:	8b 5b 04             	mov    0x4(%ebx),%ebx
6b980b:	85 db                	test   %ebx,%ebx
6b980d:	74 0f                	je     0x6b981e
6b980f:	8b 54 24 54          	mov    0x54(%esp),%edx
6b9813:	8b 3a                	mov    (%edx),%edi
6b9815:	8a 07                	mov    (%edi),%al
6b9817:	47                   	inc    %edi
6b9818:	3c 3a                	cmp    $0x3a,%al
6b981a:	75 f9                	jne    0x6b9815
6b981c:	eb 25                	jmp    0x6b9843
6b981e:	5f                   	pop    %edi
6b981f:	5e                   	pop    %esi
6b9820:	5d                   	pop    %ebp
6b9821:	b8 1b 00 00 00       	mov    $0x1b,%eax
6b9826:	5b                   	pop    %ebx
6b9827:	83 c4 34             	add    $0x34,%esp
6b982a:	c3                   	ret
6b982b:	8b 44 24 3c          	mov    0x3c(%esp),%eax
6b982f:	8b 98 9c 00 00 00    	mov    0x9c(%eax),%ebx
6b9835:	85 db                	test   %ebx,%ebx
6b9837:	0f 84 fb 00 00 00    	je     0x6b9938
6b983d:	8b 54 24 54          	mov    0x54(%esp),%edx
6b9841:	8b 3a                	mov    (%edx),%edi
6b9843:	33 ed                	xor    %ebp,%ebp
6b9845:	80 be ed 00 00 00 00 	cmpb   $0x0,0xed(%esi)
6b984c:	74 10                	je     0x6b985e
6b984e:	8b 03                	mov    (%ebx),%eax
6b9850:	8b 08                	mov    (%eax),%ecx
6b9852:	85 c9                	test   %ecx,%ecx
6b9854:	74 08                	je     0x6b985e
6b9856:	8a 04 29             	mov    (%ecx,%ebp,1),%al
6b9859:	45                   	inc    %ebp
6b985a:	84 c0                	test   %al,%al
6b985c:	75 f8                	jne    0x6b9856
6b985e:	89 7a 04             	mov    %edi,0x4(%edx)
6b9861:	33 c9                	xor    %ecx,%ecx
6b9863:	8b 43 14             	mov    0x14(%ebx),%eax
6b9866:	89 42 10             	mov    %eax,0x10(%edx)
6b9869:	8b 03                	mov    (%ebx),%eax
6b986b:	8b 00                	mov    (%eax),%eax
6b986d:	89 42 08             	mov    %eax,0x8(%edx)
6b9870:	89 6a 14             	mov    %ebp,0x14(%edx)
6b9873:	8a 04 0f             	mov    (%edi,%ecx,1),%al
6b9876:	41                   	inc    %ecx
6b9877:	84 c0                	test   %al,%al
6b9879:	75 f8                	jne    0x6b9873
6b987b:	8b 43 14             	mov    0x14(%ebx),%eax
6b987e:	03 c5                	add    %ebp,%eax
6b9880:	89 4c 24 3c          	mov    %ecx,0x3c(%esp)
6b9884:	03 c1                	add    %ecx,%eax
6b9886:	3b 43 18             	cmp    0x18(%ebx),%eax
6b9889:	7e 6c                	jle    0x6b98f7
6b988b:	83 c0 18             	add    $0x18,%eax
6b988e:	89 44 24 40          	mov    %eax,0x40(%esp)
6b9892:	50                   	push   %eax
6b9893:	8b 46 0c             	mov    0xc(%esi),%eax
6b9896:	ff d0                	call   *%eax
6b9898:	83 c4 04             	add    $0x4,%esp
6b989b:	89 44 24 48          	mov    %eax,0x48(%esp)
6b989f:	85 c0                	test   %eax,%eax
6b98a1:	0f 84 06 f8 ff ff    	je     0x6b90ad
6b98a7:	ff 73 14             	push   0x14(%ebx)
6b98aa:	8b 4c 24 44          	mov    0x44(%esp),%ecx
6b98ae:	ff 73 10             	push   0x10(%ebx)
6b98b1:	89 4b 18             	mov    %ecx,0x18(%ebx)
6b98b4:	50                   	push   %eax
6b98b5:	e8 c8 ad d5 ff       	call   0x414682
6b98ba:	8b 8e 6c 01 00 00    	mov    0x16c(%esi),%ecx
6b98c0:	83 c4 0c             	add    $0xc,%esp
6b98c3:	85 c9                	test   %ecx,%ecx
6b98c5:	74 1a                	je     0x6b98e1
6b98c7:	8b 54 24 48          	mov    0x48(%esp),%edx
6b98cb:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
6b98d0:	8b 41 0c             	mov    0xc(%ecx),%eax
6b98d3:	3b 43 10             	cmp    0x10(%ebx),%eax
6b98d6:	75 03                	jne    0x6b98db
6b98d8:	89 51 0c             	mov    %edx,0xc(%ecx)
6b98db:	8b 09                	mov    (%ecx),%ecx
6b98dd:	85 c9                	test   %ecx,%ecx
6b98df:	75 ef                	jne    0x6b98d0
6b98e1:	ff 73 10             	push   0x10(%ebx)
6b98e4:	8b 46 14             	mov    0x14(%esi),%eax
6b98e7:	ff d0                	call   *%eax
6b98e9:	8b 44 24 4c          	mov    0x4c(%esp),%eax
6b98ed:	83 c4 04             	add    $0x4,%esp
6b98f0:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
6b98f4:	89 43 10             	mov    %eax,0x10(%ebx)
6b98f7:	8b 43 14             	mov    0x14(%ebx),%eax
6b98fa:	03 43 10             	add    0x10(%ebx),%eax