7e841f:	8b 44 24 30          	mov    0x30(%esp),%eax
7e8423:	83 08 01             	orl    $0x1,(%eax)
7e8426:	85 c9                	test   %ecx,%ecx
7e8428:	75 4d                	jne    0x7e8477
7e842a:	39 8e 98 00 00 00    	cmp    %ecx,0x98(%esi)
7e8430:	75 45                	jne    0x7e8477
7e8432:	b2 01                	mov    $0x1,%dl
7e8434:	88 54 24 24          	mov    %dl,0x24(%esp)
7e8438:	84 d2                	test   %dl,%dl
7e843a:	75 44                	jne    0x7e8480
7e843c:	83 a6 a8 00 00 00 fe 	andl   $0xfffffffe,0xa8(%esi)
7e8443:	8b 86 a8 00 00 00    	mov    0xa8(%esi),%eax
7e8449:	24 03                	and    $0x3,%al
7e844b:	3c 02                	cmp    $0x2,%al
7e844d:	75 1e                	jne    0x7e846d
7e844f:	80 bf fd 01 00 00 00 	cmpb   $0x0,0x1fd(%edi)
7e8456:	74 15                	je     0x7e846d
7e8458:	68 70 fa c2 00       	push   $0xc2fa70
7e845d:	53                   	push   %ebx
7e845e:	e8 e9 73 c4 ff       	call   0x42f84c
7e8463:	83 c4 08             	add    $0x8,%esp
7e8466:	83 a6 a8 00 00 00 fd 	andl   $0xfffffffd,0xa8(%esi)
7e846d:	33 c0                	xor    %eax,%eax
7e846f:	5f                   	pop    %edi
7e8470:	5e                   	pop    %esi
7e8471:	5d                   	pop    %ebp
7e8472:	5b                   	pop    %ebx
7e8473:	83 c4 10             	add    $0x10,%esp
7e8476:	c3                   	ret
7e8477:	c6 44 24 24 00       	movb   $0x0,0x24(%esp)
7e847c:	85 c9                	test   %ecx,%ecx
7e847e:	7e bc                	jle    0x7e843c
7e8480:	8b 86 9c 00 00 00    	mov    0x9c(%esi),%eax
7e8486:	c6 04 01 00          	movb   $0x0,(%ecx,%eax,1)
7e848a:	8b 86 9c 00 00 00    	mov    0x9c(%esi),%eax
7e8490:	89 46 5c             	mov    %eax,0x5c(%esi)
7e8493:	8b 87 2c 02 00 00    	mov    0x22c(%edi),%eax
7e8499:	8b 40 34             	mov    0x34(%eax),%eax
7e849c:	85 c0                	test   %eax,%eax
7e849e:	74 21                	je     0x7e84c1
7e84a0:	8d 4c 24 13          	lea    0x13(%esp),%ecx
7e84a4:	51                   	push   %ecx
7e84a5:	8d 4c 24 18          	lea    0x18(%esp),%ecx
7e84a9:	51                   	push   %ecx
7e84aa:	57                   	push   %edi
7e84ab:	53                   	push   %ebx
7e84ac:	ff d0                	call   *%eax
7e84ae:	8b e8                	mov    %eax,%ebp
7e84b0:	83 c4 10             	add    $0x10,%esp
7e84b3:	85 ed                	test   %ebp,%ebp
7e84b5:	0f 85 27 04 00 00    	jne    0x7e88e2
7e84bb:	38 44 24 13          	cmp    %al,0x13(%esp)
7e84bf:	75 82                	jne    0x7e8443
7e84c1:	80 7e 48 00          	cmpb   $0x0,0x48(%esi)
7e84c5:	74 73                	je     0x7e853a
7e84c7:	8d 44 24 2c          	lea    0x2c(%esp),%eax
7e84cb:	c6 44 24 2c 00       	movb   $0x0,0x2c(%esp)
7e84d0:	50                   	push   %eax
7e84d1:	8d 44 24 18          	lea    0x18(%esp),%eax
7e84d5:	50                   	push   %eax
7e84d6:	57                   	push   %edi
7e84d7:	53                   	push   %ebx
7e84d8:	e8 23 d9 c3 ff       	call   0x425e00
7e84dd:	8b e8                	mov    %eax,%ebp
7e84df:	83 c4 10             	add    $0x10,%esp
7e84e2:	85 ed                	test   %ebp,%ebp
7e84e4:	0f 85 f8 03 00 00    	jne    0x7e88e2
7e84ea:	8b 87 2c 02 00 00    	mov    0x22c(%edi),%eax
7e84f0:	8b 40 34             	mov    0x34(%eax),%eax
7e84f3:	85 c0                	test   %eax,%eax
7e84f5:	74 38                	je     0x7e852f
7e84f7:	39 6e 14             	cmp    %ebp,0x14(%esi)
7e84fa:	7f 33                	jg     0x7e852f
7e84fc:	7c 05                	jl     0x7e8503
7e84fe:	39 6e 10             	cmp    %ebp,0x10(%esi)
7e8501:	77 2c                	ja     0x7e852f
7e8503:	83 7c 24 14 00       	cmpl   $0x0,0x14(%esp)
7e8508:	7e 25                	jle    0x7e852f
7e850a:	8d 4c 24 13          	lea    0x13(%esp),%ecx
7e850e:	51                   	push   %ecx
7e850f:	8d 4c 24 18          	lea    0x18(%esp),%ecx
7e8513:	51                   	push   %ecx
7e8514:	57                   	push   %edi
7e8515:	53                   	push   %ebx
7e8516:	ff d0                	call   *%eax
7e8518:	8b e8                	mov    %eax,%ebp
7e851a:	83 c4 10             	add    $0x10,%esp
7e851d:	85 ed                	test   %ebp,%ebp
7e851f:	0f 85 bd 03 00 00    	jne    0x7e88e2
7e8525:	38 44 24 13          	cmp    %al,0x13(%esp)
7e8529:	0f 85 14 ff ff ff    	jne    0x7e8443
7e852f:	80 7c 24 2c 00       	cmpb   $0x0,0x2c(%esp)
7e8534:	0f 85 b2 03 00 00    	jne    0x7e88ec
7e853a:	83 7e 5c 00          	cmpl   $0x0,0x5c(%esi)
7e853e:	8a 4c 24 24          	mov    0x24(%esp),%cl
7e8542:	0f 84 45 03 00 00    	je     0x7e888d
7e8548:	80 7e 48 00          	cmpb   $0x0,0x48(%esi)
7e854c:	0f 85 3b 03 00 00    	jne    0x7e888d
7e8552:	83 7c 24 14 00       	cmpl   $0x0,0x14(%esp)
7e8557:	7f 08                	jg     0x7e8561
7e8559:	84 c9                	test   %cl,%cl
7e855b:	0f 84 2c 03 00 00    	je     0x7e888d
7e8561:	83 be 98 00 00 00 00 	cmpl   $0x0,0x98(%esi)
7e8568:	0f 85 9e 00 00 00    	jne    0x7e860c
7e856e:	84 c9                	test   %cl,%cl
7e8570:	0f 85 96 00 00 00    	jne    0x7e860c
7e8576:	8b 87 2c 02 00 00    	mov    0x22c(%edi),%eax
7e857c:	f7 40 3c 03 00 04 00 	testl  $0x40003,0x3c(%eax)
7e8583:	0f 84 83 00 00 00    	je     0x7e860c
7e8589:	83 bb 04 01 00 00 00 	cmpl   $0x0,0x104(%ebx)
7e8590:	74 21                	je     0x7e85b3
7e8592:	38 8f fd 01 00 00    	cmp    %cl,0x1fd(%edi)
7e8598:	0f 85 d0 03 00 00    	jne    0x7e896e
7e859e:	68 20 f8 c2 00       	push   $0xc2f820
7e85a3:	53                   	push   %ebx
7e85a4:	c6 86 ad 00 00 00 01 	movb   $0x1,0xad(%esi)
7e85ab:	e8 9c 72 c4 ff       	call   0x42f84c
7e85b0:	83 c4 08             	add    $0x8,%esp
7e85b3:	8b 83 50 86 00 00    	mov    0x8650(%ebx),%eax
7e85b9:	0b 83 54 86 00 00    	or     0x8654(%ebx),%eax
7e85bf:	74 1c                	je     0x7e85dd
7e85c1:	80 7e 6c 00          	cmpb   $0x0,0x6c(%esi)
7e85c5:	75 16                	jne    0x7e85dd
7e85c7:	83 bb 48 02 00 00 01 	cmpl   $0x1,0x248(%ebx)
7e85ce:	75 0d                	jne    0x7e85dd
7e85d0:	80 be ad 00 00 00 00 	cmpb   $0x0,0xad(%esi)
7e85d7:	0f 84 67 03 00 00    	je     0x7e8944
7e85dd:	83 bb 3c 02 00 00 00 	cmpl   $0x0,0x23c(%ebx)
7e85e4:	74 26                	je     0x7e860c
7e85e6:	83 bb 48 86 00 00 00 	cmpl   $0x0,0x8648(%ebx)
7e85ed:	75 1d                	jne    0x7e860c
7e85ef:	ff b6 94 00 00 00    	push   0x94(%esi)
7e85f5:	ff b6 90 00 00 00    	push   0x90(%esi)
7e85fb:	53                   	push   %ebx
7e85fc:	e8 c7 d9 c2 ff       	call   0x415fc8
7e8601:	83 c4 0c             	add    $0xc,%esp
7e8604:	84 c0                	test   %al,%al
7e8606:	0f 84 95 03 00 00    	je     0x7e89a1
7e860c:	ff 86 98 00 00 00    	incl   0x98(%esi)
7e8612:	80 bb d0 02 00 00 00 	cmpb   $0x0,0x2d0(%ebx)
7e8619:	74 34                	je     0x7e864f
7e861b:	83 7e 4c 00          	cmpl   $0x0,0x4c(%esi)
7e861f:	57                   	push   %edi
7e8620:	74 1b                	je     0x7e863d
7e8622:	ff 76 58             	push   0x58(%esi)
7e8625:	ff b3 54 05 00 00    	push   0x554(%ebx)
7e862b:	6a 03                	push   $0x3
7e862d:	53                   	push   %ebx
7e862e:	e8 74 e7 c1 ff       	call   0x406da7
7e8633:	83 c4 14             	add    $0x14,%esp
7e8636:	83 7e 4c 01          	cmpl   $0x1,0x4c(%esi)
7e863a:	75 13                	jne    0x7e864f
7e863c:	57                   	push   %edi
7e863d:	ff 74 24 18          	push   0x18(%esp)
7e8641:	ff 76 5c             	push   0x5c(%esi)
7e8644:	6a 03                	push   $0x3
7e8646:	53                   	push   %ebx
7e8647:	e8 5b e7 c1 ff       	call   0x406da7
7e864c:	83 c4 14             	add    $0x14,%esp
7e864f:	80 be c0 00 00 00 00 	cmpb   $0x0,0xc0(%esi)
7e8656:	74 71                	je     0x7e86c9
7e8658:	8d 44 24 14          	lea    0x14(%esp),%eax
7e865c:	50                   	push   %eax
7e865d:	ff 74 24 18          	push   0x18(%esp)
7e8661:	ff 76 5c             	push   0x5c(%esi)
7e8664:	57                   	push   %edi
7e8665:	e8 4f 9c c3 ff       	call   0x4222b9
7e866a:	83 c4 10             	add    $0x10,%esp
7e866d:	85 c0                	test   %eax,%eax
7e866f:	0f 8f 5c 03 00 00    	jg     0x7e89d1
7e8675:	83 f8 ff             	cmp    $0xffffffff,%eax
7e8678:	75 4f                	jne    0x7e86c9
7e867a:	83 a6 a8 00 00 00 fe 	andl   $0xfffffffe,0xa8(%esi)
7e8681:	8b 47 30             	mov    0x30(%edi),%eax
7e8684:	89 44 24 2c          	mov    %eax,0x2c(%esp)
7e8688:	85 c0                	test   %eax,%eax
7e868a:	74 3d                	je     0x7e86c9
7e868c:	50                   	push   %eax
7e868d:	68 20 f9 c2 00       	push   $0xc2f920
7e8692:	ff 37                	push   (%edi)
7e8694:	e8 b3 71 c4 ff       	call   0x42f84c
7e8699:	8b 07                	mov    (%edi),%eax
7e869b:	6a 01                	push   $0x1
7e869d:	ff 70 40             	push   0x40(%eax)
7e86a0:	e8 e5 44 c2 ff       	call   0x40cb8a
7e86a5:	83 c4 14             	add    $0x14,%esp
7e86a8:	84 c0                	test   %al,%al
7e86aa:	74 1d                	je     0x7e86c9
7e86ac:	ff 74 24 2c          	push   0x2c(%esp)
7e86b0:	68 4c f9 c2 00       	push   $0xc2f94c
7e86b5:	ff 37                	push   (%edi)
7e86b7:	e8 90 71 c4 ff       	call   0x42f84c
7e86bc:	ff 74 24 38          	push   0x38(%esp)
7e86c0:	57                   	push   %edi
7e86c1:	e8 5a fc ff ff       	call   0x7e8320
7e86c6:	83 c4 14             	add    $0x14,%esp
7e86c9:	83 7e 4c 00          	cmpl   $0x0,0x4c(%esi)
7e86cd:	74 13                	je     0x7e86e2
7e86cf:	80 be ad 00 00 00 00 	cmpb   $0x0,0xad(%esi)
7e86d6:	75 0a                	jne    0x7e86e2
7e86d8:	8b 46 58             	mov    0x58(%esi),%eax
7e86db:	01 46 20             	add    %eax,0x20(%esi)
7e86de:	83 56 24 00          	adcl   $0x0,0x24(%esi)
7e86e2:	83 7e 10 ff          	cmpl   $0xffffffff,0x10(%esi)
7e86e6:	8b 4e 14             	mov    0x14(%esi),%ecx
7e86e9:	75 09                	jne    0x7e86f4
7e86eb:	83 f9 ff             	cmp    $0xffffffff,%ecx
7e86ee:	0f 84 bf 00 00 00    	je     0x7e87b3
7e86f4:	8b 44 24 14          	mov    0x14(%esp),%eax
7e86f8:	99                   	cltd
7e86f9:	03 46 20             	add    0x20(%esi),%eax
7e86fc:	13 56 24             	adc    0x24(%esi),%edx
7e86ff:	3b d1                	cmp    %ecx,%edx
7e8701:	0f 8c ac 00 00 00    	jl     0x7e87b3
7e8707:	7f 09                	jg     0x7e8712
7e8709:	3b 46 10             	cmp    0x10(%esi),%eax
7e870c:	0f 82 a1 00 00 00    	jb     0x7e87b3
7e8712:	8b 44 24 14          	mov    0x14(%esp),%eax
7e8716:	2b 46 10             	sub    0x10(%esi),%eax
7e8719:	03 46 20             	add    0x20(%esi),%eax
7e871c:	89 44 24 18          	mov    %eax,0x18(%esp)
7e8720:	74 78                	je     0x7e879a
7e8722:	80 be ad 00 00 00 00 	cmpb   $0x0,0xad(%esi)
7e8729:	75 6f                	jne    0x7e879a
7e872b:	8b 07                	mov    (%edi),%eax
7e872d:	6a 01                	push   $0x1
7e872f:	ff 70 40             	push   0x40(%eax)
7e8732:	e8 53 44 c2 ff       	call   0x40cb8a
7e8737:	83 c4 08             	add    $0x8,%esp
7e873a:	84 c0                	test   %al,%al
7e873c:	74 39                	je     0x7e8777
7e873e:	ff 74 24 14          	push   0x14(%esp)
7e8742:	ff 76 24             	push   0x24(%esi)
7e8745:	ff 76 20             	push   0x20(%esi)
7e8748:	ff 76 14             	push   0x14(%esi)
7e874b:	ff 76 10             	push   0x10(%esi)
7e874e:	ff 76 04             	push   0x4(%esi)
7e8751:	ff 36                	push   (%esi)
7e8753:	ff b3 40 86 00 00    	push   0x8640(%ebx)
7e8759:	ff 74 24 38          	push   0x38(%esp)
7e875d:	68 68 f9 c2 00       	push   $0xc2f968
7e8762:	53                   	push   %ebx
7e8763:	e8 e4 70 c4 ff       	call   0x42f84c
7e8768:	ff 74 24 44          	push   0x44(%esp)
7e876c:	57                   	push   %edi
7e876d:	e8 ae fb ff ff       	call   0x7e8320
7e8772:	83 c4 34             	add    $0x34,%esp
7e8775:	eb 23                	jmp    0x7e879a
7e8777:	ff 76 24             	push   0x24(%esi)
7e877a:	ff 76 20             	push   0x20(%esi)
7e877d:	ff 76 14             	push   0x14(%esi)
7e8780:	ff 76 10             	push   0x10(%esi)
7e8783:	ff 76 04             	push   0x4(%esi)
7e8786:	ff 36                	push   (%esi)
7e8788:	ff 74 24 30          	push   0x30(%esp)
7e878c:	68 f0 f9 c2 00       	push   $0xc2f9f0
7e8791:	53                   	push   %ebx
7e8792:	e8 b5 70 c4 ff       	call   0x42f84c
7e8797:	83 c4 24             	add    $0x24,%esp
7e879a:	8b 46 10             	mov    0x10(%esi),%eax
7e879d:	b9 00 00 00 00       	mov    $0x0,%ecx
7e87a2:	2b 46 20             	sub    0x20(%esi),%eax
7e87a5:	0f 48 c1             	cmovs  %ecx,%eax
7e87a8:	83 a6 a8 00 00 00 fe 	andl   $0xfffffffe,0xa8(%esi)
7e87af:	89 44 24 14          	mov    %eax,0x14(%esp)
7e87b3:	8b 44 24 14          	mov    0x14(%esp),%eax
7e87b7:	99                   	cltd
7e87b8:	01 46 20             	add    %eax,0x20(%esi)
7e87bb:	11 56 24             	adc    %edx,0x24(%esi)
7e87be:	ff 76 24             	push   0x24(%esi)
7e87c1:	ff 76 20             	push   0x20(%esi)
7e87c4:	53                   	push   %ebx
7e87c5:	e8 2d ac c4 ff       	call   0x4333f7
7e87ca:	83 c4 0c             	add    $0xc,%esp
7e87cd:	80 be c0 00 00 00 00 	cmpb   $0x0,0xc0(%esi)
7e87d4:	0f 85 af 00 00 00    	jne    0x7e8889
7e87da:	83 7c 24 14 00       	cmpl   $0x0,0x14(%esp)
7e87df:	75 12                	jne    0x7e87f3
7e87e1:	83 7e 4c 00          	cmpl   $0x0,0x4c(%esi)
7e87e5:	75 12                	jne    0x7e87f9
7e87e7:	8a 4c 24 24          	mov    0x24(%esp),%cl
7e87eb:	84 c9                	test   %cl,%cl
7e87ed:	0f 84 9a 00 00 00    	je     0x7e888d
7e87f3:	83 7e 4c 00          	cmpl   $0x0,0x4c(%esi)
7e87f7:	74 48                	je     0x7e8841
7e87f9:	80 be ad 00 00 00 00 	cmpb   $0x0,0xad(%esi)
7e8800:	75 3f                	jne    0x7e8841
7e8802:	8b 56 10             	mov    0x10(%esi),%edx
7e8805:	8b c2                	mov    %edx,%eax
7e8807:	8b 4e 14             	mov    0x14(%esi),%ecx
7e880a:	23 c1                	and    %ecx,%eax
7e880c:	83 f8 ff             	cmp    $0xffffffff,%eax
7e880f:	74 12                	je     0x7e8823
7e8811:	33 c0                	xor    %eax,%eax
7e8813:	3b c1                	cmp    %ecx,%eax
7e8815:	7c 0c                	jl     0x7e8823
7e8817:	7f 05                	jg     0x7e881e
7e8819:	39 56 58             	cmp    %edx,0x58(%esi)
7e881c:	76 05                	jbe    0x7e8823
7e881e:	ff 76 10             	push   0x10(%esi)
7e8821:	eb 03                	jmp    0x7e8826
7e8823:	ff 76 58             	push   0x58(%esi)
7e8826:	ff b3 54 05 00 00    	push   0x554(%ebx)
7e882c:	6a 01                	push   $0x1
7e882e:	57                   	push   %edi
7e882f:	e8 13 8f c3 ff       	call   0x421747
7e8834:	8b e8                	mov    %eax,%ebp
7e8836:	83 c4 10             	add    $0x10,%esp
7e8839:	85 ed                	test   %ebp,%ebp
7e883b:	0f 85 a1 00 00 00    	jne    0x7e88e2
7e8841:	83 7e 4c 02          	cmpl   $0x2,0x4c(%esi)
7e8845:	7d 37                	jge    0x7e887e
7e8847:	80 be ad 00 00 00 00 	cmpb   $0x0,0xad(%esi)
7e884e:	75 2e                	jne    0x7e887e
7e8850:	8b 87 2c 02 00 00    	mov    0x22c(%edi),%eax
7e8856:	ff 74 24 14          	push   0x14(%esp)
7e885a:	ff 76 5c             	push   0x5c(%esi)
7e885d:	f7 40 3c 00 c0 00 00 	testl  $0xc000,0x3c(%eax)
7e8864:	74 0b                	je     0x7e8871
7e8866:	57                   	push   %edi
7e8867:	e8 39 81 c3 ff       	call   0x4209a5
7e886c:	83 c4 0c             	add    $0xc,%esp
7e886f:	eb 0b                	jmp    0x7e887c
7e8871:	6a 01                	push   $0x1
7e8873:	57                   	push   %edi
7e8874:	e8 ce 8e c3 ff       	call   0x421747
7e8879:	83 c4 10             	add    $0x10,%esp
7e887c:	8b e8                	mov    %eax,%ebp
7e887e:	c7 46 4c 00 00 00 00 	movl   $0x0,0x4c(%esi)
7e8885:	85 ed                	test   %ebp,%ebp
7e8887:	75 59                	jne    0x7e88e2
7e8889:	8a 4c 24 24          	mov    0x24(%esp),%cl
7e888d:	8b 87 2c 02 00 00    	mov    0x22c(%edi),%eax
7e8893:	83 78 34 00          	cmpl   $0x0,0x34(%eax)
7e8897:	74 15                	je     0x7e88ae
7e8899:	8b 54 24 18          	mov    0x18(%esp),%edx
7e889d:	85 d2                	test   %edx,%edx
7e889f:	74 0d                	je     0x7e88ae
7e88a1:	80 bf 13 02 00 00 00 	cmpb   $0x0,0x213(%edi)
7e88a8:	0f 84 65 01 00 00    	je     0x7e8a13
7e88ae:	84 c9                	test   %cl,%cl
7e88b0:	74 07                	je     0x7e88b9
7e88b2:	83 a6 a8 00 00 00 fe 	andl   $0xfffffffe,0xa8(%esi)
7e88b9:	57                   	push   %edi
7e88ba:	e8 a1 f9 ff ff       	call   0x7e8260
7e88bf:	83 c4 04             	add    $0x4,%esp
7e88c2:	85 c0                	test   %eax,%eax
7e88c4:	0f 84 79 fb ff ff    	je     0x7e8443
7e88ca:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
7e88ce:	8b c1                	mov    %ecx,%eax