948237:	8b fc                	mov    %esp,%edi
948239:	8b d8                	mov    %eax,%ebx
94823b:	8b 85 b0 fe ff ff    	mov    -0x150(%ebp),%eax
948241:	50                   	push   %eax
948242:	8b 0b                	mov    (%ebx),%ecx
948244:	ff b5 c4 fe ff ff    	push   -0x13c(%ebp)
94824a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
94824b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
94824c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
94824d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
94824e:	8b b1 44 02 00 00    	mov    0x244(%ecx),%esi
948254:	8b ce                	mov    %esi,%ecx
948256:	e8 0a 44 ae ff       	call   0x42c665
94825b:	8b cb                	mov    %ebx,%ecx
94825d:	ff d6                	call   *%esi
94825f:	8b 9d b0 fe ff ff    	mov    -0x150(%ebp),%ebx
948265:	83 bd ac fe ff ff 00 	cmpl   $0x0,-0x154(%ebp)
94826c:	74 4f                	je     0x9482bd
94826e:	e8 da a8 ac ff       	call   0x412b4d
948273:	8b d8                	mov    %eax,%ebx
948275:	8d 75 e0             	lea    -0x20(%ebp),%esi
948278:	8b 85 b0 fe ff ff    	mov    -0x150(%ebp),%eax
94827e:	8b 0b                	mov    (%ebx),%ecx
948280:	ff b0 c8 00 00 00    	push   0xc8(%eax)
948286:	ff b0 d0 00 00 00    	push   0xd0(%eax)
94828c:	ff b0 d4 00 00 00    	push   0xd4(%eax)
948292:	83 ec 10             	sub    $0x10,%esp
948295:	8b fc                	mov    %esp,%edi
948297:	ff b5 c4 fe ff ff    	push   -0x13c(%ebp)
94829d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
94829e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
94829f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
9482a0:	a5                   	movsl  %ds:(%esi),%es:(%edi)
9482a1:	8b b1 68 02 00 00    	mov    0x268(%ecx),%esi
9482a7:	8b ce                	mov    %esi,%ecx
9482a9:	e8 b7 43 ae ff       	call   0x42c665
9482ae:	8b cb                	mov    %ebx,%ecx
9482b0:	ff d6                	call   *%esi
9482b2:	8b 9d b0 fe ff ff    	mov    -0x150(%ebp),%ebx
9482b8:	e9 80 00 00 00       	jmp    0x94833d
9482bd:	e8 74 00 ad ff       	call   0x418336
9482c2:	8b cb                	mov    %ebx,%ecx
9482c4:	8b 80 e8 01 00 00    	mov    0x1e8(%eax),%eax
9482ca:	89 85 ac fe ff ff    	mov    %eax,-0x154(%ebp)
9482d0:	e8 bf 8c ae ff       	call   0x430f94
9482d5:	85 c0                	test   %eax,%eax
9482d7:	74 28                	je     0x948301
9482d9:	83 bb 90 01 00 00 00 	cmpl   $0x0,0x190(%ebx)
9482e0:	75 1f                	jne    0x948301
9482e2:	8b 8b 94 00 00 00    	mov    0x94(%ebx),%ecx
9482e8:	85 c9                	test   %ecx,%ecx
9482ea:	74 09                	je     0x9482f5
9482ec:	e8 aa 61 af ff       	call   0x43e49b
9482f1:	85 c0                	test   %eax,%eax
9482f3:	75 0c                	jne    0x948301
9482f5:	e8 3c 00 ad ff       	call   0x418336
9482fa:	83 a0 e8 01 00 00 00 	andl   $0x0,0x1e8(%eax)
948301:	8b 03                	mov    (%ebx),%eax
948303:	8d 75 e0             	lea    -0x20(%ebp),%esi
948306:	83 ec 10             	sub    $0x10,%esp
948309:	8b fc                	mov    %esp,%edi
94830b:	ff b5 9c fe ff ff    	push   -0x164(%ebp)
948311:	a5                   	movsl  %ds:(%esi),%es:(%edi)
948312:	ff b5 c4 fe ff ff    	push   -0x13c(%ebp)
948318:	a5                   	movsl  %ds:(%esi),%es:(%edi)
948319:	a5                   	movsl  %ds:(%esi),%es:(%edi)
94831a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
94831b:	8b b0 20 01 00 00    	mov    0x120(%eax),%esi
948321:	8b ce                	mov    %esi,%ecx
948323:	e8 3d 43 ae ff       	call   0x42c665
948328:	8b cb                	mov    %ebx,%ecx
94832a:	ff d6                	call   *%esi
94832c:	e8 05 00 ad ff       	call   0x418336
948331:	8b 8d ac fe ff ff    	mov    -0x154(%ebp),%ecx
948337:	89 88 e8 01 00 00    	mov    %ecx,0x1e8(%eax)
94833d:	83 bd a4 fe ff ff 00 	cmpl   $0x0,-0x15c(%ebp)
948344:	0f 84 ef 02 00 00    	je     0x948639
94834a:	8d 53 74             	lea    0x74(%ebx),%edx
94834d:	33 c9                	xor    %ecx,%ecx
94834f:	8b f2                	mov    %edx,%esi
948351:	89 8d ac fe ff ff    	mov    %ecx,-0x154(%ebp)
948357:	8d 7d c0             	lea    -0x40(%ebp),%edi
94835a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
94835b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
94835c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
94835d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
94835e:	83 ce ff             	or     $0xffffffff,%esi
948361:	89 b5 b0 fe ff ff    	mov    %esi,-0x150(%ebp)
948367:	39 8d a0 fe ff ff    	cmp    %ecx,-0x160(%ebp)
94836d:	0f 84 8d 00 00 00    	je     0x948400
948373:	39 8b 68 01 00 00    	cmp    %ecx,0x168(%ebx)
948379:	75 0e                	jne    0x948389
94837b:	8b 83 a4 00 00 00    	mov    0xa4(%ebx),%eax
948381:	85 c0                	test   %eax,%eax
948383:	74 7b                	je     0x948400
948385:	3b c6                	cmp    %esi,%eax
948387:	74 77                	je     0x948400
948389:	39 8b c4 00 00 00    	cmp    %ecx,0xc4(%ebx)
94838f:	74 21                	je     0x9483b2
948391:	e8 b7 a7 ac ff       	call   0x412b4d
948396:	8b f8                	mov    %eax,%edi
948398:	6a 01                	push   $0x1
94839a:	8b 0f                	mov    (%edi),%ecx
94839c:	8b b1 5c 02 00 00    	mov    0x25c(%ecx),%esi
9483a2:	8b ce                	mov    %esi,%ecx
9483a4:	e8 bc 42 ae ff       	call   0x42c665
9483a9:	8b cf                	mov    %edi,%ecx
9483ab:	ff d6                	call   *%esi
9483ad:	8d 53 74             	lea    0x74(%ebx),%edx
9483b0:	eb 58                	jmp    0x94840a
9483b2:	8b 8d b8 fe ff ff    	mov    -0x148(%ebp),%ecx
9483b8:	3b ce                	cmp    %esi,%ecx
9483ba:	75 22                	jne    0x9483de
9483bc:	e8 8c a7 ac ff       	call   0x412b4d
9483c1:	8b f8                	mov    %eax,%edi
9483c3:	8b 0f                	mov    (%edi),%ecx
9483c5:	8b b1 c4 00 00 00    	mov    0xc4(%ecx),%esi
9483cb:	8b ce                	mov    %esi,%ecx
9483cd:	e8 93 42 ae ff       	call   0x42c665
9483d2:	8b cf                	mov    %edi,%ecx
9483d4:	ff d6                	call   *%esi
9483d6:	89 85 b8 fe ff ff    	mov    %eax,-0x148(%ebp)
9483dc:	8b c8                	mov    %eax,%ecx
9483de:	8b bd c4 fe ff ff    	mov    -0x13c(%ebp),%edi
9483e4:	51                   	push   %ecx
9483e5:	8b 07                	mov    (%edi),%eax
9483e7:	8b 70 30             	mov    0x30(%eax),%esi
9483ea:	8b ce                	mov    %esi,%ecx
9483ec:	e8 74 42 ae ff       	call   0x42c665
9483f1:	8b cf                	mov    %edi,%ecx
9483f3:	ff d6                	call   *%esi
9483f5:	89 85 b0 fe ff ff    	mov    %eax,-0x150(%ebp)
9483fb:	8d 53 74             	lea    0x74(%ebx),%edx
9483fe:	eb 10                	jmp    0x948410
948400:	8b 8d b8 fe ff ff    	mov    -0x148(%ebp),%ecx
948406:	3b ce                	cmp    %esi,%ecx
948408:	75 d4                	jne    0x9483de
94840a:	8b bd c4 fe ff ff    	mov    -0x13c(%ebp),%edi
948410:	83 bb 90 01 00 00 00 	cmpl   $0x0,0x190(%ebx)
948417:	74 29                	je     0x948442
948419:	83 bb b0 00 00 00 00 	cmpl   $0x0,0xb0(%ebx)
948420:	75 20                	jne    0x948442
948422:	6a 00                	push   $0x0
948424:	57                   	push   %edi
948425:	8d 85 64 fe ff ff    	lea    -0x19c(%ebp),%eax
94842b:	8b cb                	mov    %ebx,%ecx
94842d:	50                   	push   %eax
94842e:	e8 38 15 ad ff       	call   0x41996b
948433:	8d 45 d0             	lea    -0x30(%ebp),%eax
948436:	50                   	push   %eax
948437:	ff 15 50 40 d8 00    	call   *0xd84050
94843d:	e9 db 01 00 00       	jmp    0x94861d
948442:	8b 8b ac 00 00 00    	mov    0xac(%ebx),%ecx
948448:	8b 45 e8             	mov    -0x18(%ebp),%eax
94844b:	89 45 c0             	mov    %eax,-0x40(%ebp)
94844e:	85 c9                	test   %ecx,%ecx
948450:	7e 10                	jle    0x948462
948452:	6b 83 1c 01 00 00 03 	imul   $0x3,0x11c(%ebx),%eax
948459:	03 c1                	add    %ecx,%eax
94845b:	03 02                	add    (%edx),%eax
94845d:	89 45 c0             	mov    %eax,-0x40(%ebp)
948460:	eb 1f                	jmp    0x948481
948462:	83 bd bc fe ff ff 00 	cmpl   $0x0,-0x144(%ebp)
948469:	74 16                	je     0x948481
94846b:	8b 03                	mov    (%ebx),%eax
94846d:	8b b0 78 02 00 00    	mov    0x278(%eax),%esi
948473:	8b ce                	mov    %esi,%ecx
948475:	e8 eb 41 ae ff       	call   0x42c665
94847a:	8b cb                	mov    %ebx,%ecx
94847c:	ff d6                	call   *%esi
94847e:	01 45 c0             	add    %eax,-0x40(%ebp)
948481:	83 bb 8c 01 00 00 00 	cmpl   $0x0,0x18c(%ebx)
948488:	74 68                	je     0x9484f2
94848a:	8b 43 70             	mov    0x70(%ebx),%eax
94848d:	83 78 f4 00          	cmpl   $0x0,-0xc(%eax)
948491:	74 5f                	je     0x9484f2
948493:	8b 37                	mov    (%edi),%esi
948495:	e8 9c fe ac ff       	call   0x418336
94849a:	8b 4e 28             	mov    0x28(%esi),%ecx
94849d:	05 2c 01 00 00       	add    $0x12c,%eax
9484a2:	50                   	push   %eax
9484a3:	e8 bd 41 ae ff       	call   0x42c665
9484a8:	8b cf                	mov    %edi,%ecx
9484aa:	ff 56 28             	call   *0x28(%esi)
9484ad:	89 85 ac fe ff ff    	mov    %eax,-0x154(%ebp)
9484b3:	85 c0                	test   %eax,%eax
9484b5:	75 05                	jne    0x9484bc
9484b7:	e8 aa 9a ae ff       	call   0x431f66
9484bc:	8b 83 80 00 00 00    	mov    0x80(%ebx),%eax
9484c2:	2b 43 78             	sub    0x78(%ebx),%eax
9484c5:	8b 8b 10 01 00 00    	mov    0x110(%ebx),%ecx
9484cb:	2b c1                	sub    %ecx,%eax
9484cd:	99                   	cltd
9484ce:	2b c2                	sub    %edx,%eax
9484d0:	d1 f8                	sar    $1,%eax
9484d2:	79 04                	jns    0x9484d8
9484d4:	33 c0                	xor    %eax,%eax
9484d6:	eb 10                	jmp    0x9484e8
9484d8:	8b 83 80 00 00 00    	mov    0x80(%ebx),%eax
9484de:	2b 43 78             	sub    0x78(%ebx),%eax
9484e1:	2b c1                	sub    %ecx,%eax
9484e3:	99                   	cltd
9484e4:	2b c2                	sub    %edx,%eax
9484e6:	d1 f8                	sar    $1,%eax
9484e8:	01 45 c4             	add    %eax,-0x3c(%ebp)
9484eb:	b8 20 80 00 00       	mov    $0x8020,%eax
9484f0:	eb 05                	jmp    0x9484f7
9484f2:	b8 24 80 00 00       	mov    $0x8024,%eax
9484f7:	8b 0b                	mov    (%ebx),%ecx
9484f9:	8d 75 c0             	lea    -0x40(%ebp),%esi
9484fc:	6a ff                	push   $0xffffffff
9484fe:	50                   	push   %eax
9484ff:	83 ec 10             	sub    $0x10,%esp
948502:	8d 43 60             	lea    0x60(%ebx),%eax
948505:	8b fc                	mov    %esp,%edi
948507:	50                   	push   %eax
948508:	a5                   	movsl  %ds:(%esi),%es:(%edi)
948509:	a5                   	movsl  %ds:(%esi),%es:(%edi)
94850a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
94850b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
94850c:	8b b1 60 02 00 00    	mov    0x260(%ecx),%esi
948512:	8b ce                	mov    %esi,%ecx
948514:	8b bd c4 fe ff ff    	mov    -0x13c(%ebp),%edi
94851a:	57                   	push   %edi
94851b:	e8 45 41 ae ff       	call   0x42c665
948520:	8b cb                	mov    %ebx,%ecx
948522:	ff d6                	call   *%esi
948524:	8b c8                	mov    %eax,%ecx
948526:	8b 85 ac fe ff ff    	mov    -0x154(%ebp),%eax
94852c:	89 8d b8 fe ff ff    	mov    %ecx,-0x148(%ebp)
948532:	85 c0                	test   %eax,%eax
948534:	74 17                	je     0x94854d
948536:	8b 0f                	mov    (%edi),%ecx
948538:	50                   	push   %eax
948539:	8b 71 28             	mov    0x28(%ecx),%esi
94853c:	8b ce                	mov    %esi,%ecx
94853e:	e8 22 41 ae ff       	call   0x42c665
948543:	8b cf                	mov    %edi,%ecx
948545:	ff d6                	call   *%esi
948547:	8b 8d b8 fe ff ff    	mov    -0x148(%ebp),%ecx
94854d:	83 bb 8c 01 00 00 00 	cmpl   $0x0,0x18c(%ebx)
948554:	74 3f                	je     0x948595
948556:	8b 43 70             	mov    0x70(%ebx),%eax
948559:	83 78 f4 00          	cmpl   $0x0,-0xc(%eax)
94855d:	74 36                	je     0x948595
94855f:	8b 83 20 01 00 00    	mov    0x120(%ebx),%eax
948565:	8b 37                	mov    (%edi),%esi
948567:	03 c1                	add    %ecx,%eax
948569:	01 45 c4             	add    %eax,-0x3c(%ebp)
94856c:	8d 4d c0             	lea    -0x40(%ebp),%ecx
94856f:	8b 43 7c             	mov    0x7c(%ebx),%eax
948572:	2b 83 1c 01 00 00    	sub    0x11c(%ebx),%eax
948578:	89 45 c8             	mov    %eax,-0x38(%ebp)
94857b:	8b 43 70             	mov    0x70(%ebx),%eax
94857e:	68 10 80 00 00       	push   $0x8010
948583:	51                   	push   %ecx
948584:	8b 4e 68             	mov    0x68(%esi),%ecx
948587:	ff 70 f4             	push   -0xc(%eax)
94858a:	50                   	push   %eax
94858b:	e8 d5 40 ae ff       	call   0x42c665
948590:	8b cf                	mov    %edi,%ecx
948592:	ff 56 68             	call   *0x68(%esi)
948595:	8b 85 b8 fe ff ff    	mov    -0x148(%ebp),%eax
94859b:	3b 83 10 01 00 00    	cmp    0x110(%ebx),%eax
9485a1:	75 7a                	jne    0x94861d
9485a3:	83 bb 90 01 00 00 00 	cmpl   $0x0,0x190(%ebx)
9485aa:	74 71                	je     0x94861d
9485ac:	8b 03                	mov    (%ebx),%eax
9485ae:	8b b8 38 01 00 00    	mov    0x138(%eax),%edi
9485b4:	8b cf                	mov    %edi,%ecx
9485b6:	e8 aa 40 ae ff       	call   0x42c665
9485bb:	8b cb                	mov    %ebx,%ecx
9485bd:	ff d7                	call   *%edi
9485bf:	85 c0                	test   %eax,%eax
9485c1:	74 54                	je     0x948617
9485c3:	8b 8b 4c 01 00 00    	mov    0x14c(%ebx),%ecx
9485c9:	8d 73 74             	lea    0x74(%ebx),%esi
9485cc:	8d 7d d0             	lea    -0x30(%ebp),%edi
9485cf:	8b c1                	mov    %ecx,%eax
9485d1:	a5                   	movsl  %ds:(%esi),%es:(%edi)
9485d2:	f7 d8                	neg    %eax
9485d4:	03 c0                	add    %eax,%eax
9485d6:	f7 d9                	neg    %ecx
9485d8:	50                   	push   %eax
9485d9:	51                   	push   %ecx
9485da:	a5                   	movsl  %ds:(%esi),%es:(%edi)
9485db:	8d 45 d0             	lea    -0x30(%ebp),%eax
9485de:	50                   	push   %eax
9485df:	a5                   	movsl  %ds:(%esi),%es:(%edi)
9485e0:	a5                   	movsl  %ds:(%esi),%es:(%edi)
9485e1:	ff 15 ec 3d d8 00    	call   *0xd83dec
9485e7:	83 6d d8 02          	subl   $0x2,-0x28(%ebp)
9485eb:	8d 85 5c fe ff ff    	lea    -0x1a4(%ebp),%eax
9485f1:	50                   	push   %eax
9485f2:	e8 65 5f ac ff       	call   0x40e55c
9485f7:	8b 4d dc             	mov    -0x24(%ebp),%ecx
9485fa:	8b 40 04             	mov    0x4(%eax),%eax
9485fd:	2b c8                	sub    %eax,%ecx
9485ff:	8d 85 54 fe ff ff    	lea    -0x1ac(%ebp),%eax
948605:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
948608:	50                   	push   %eax
948609:	e8 4e 5f ac ff       	call   0x40e55c
94860e:	8b 40 04             	mov    0x4(%eax),%eax
948611:	03 45 d4             	add    -0x2c(%ebp),%eax
948614:	89 45 dc             	mov    %eax,-0x24(%ebp)
948617:	8b bd c4 fe ff ff    	mov    -0x13c(%ebp),%edi
94861d:	8b 8d b0 fe ff ff    	mov    -0x150(%ebp),%ecx
948623:	83 f9 ff             	cmp    $0xffffffff,%ecx
948626:	74 11                	je     0x948639
948628:	8b 07                	mov    (%edi),%eax
94862a:	51                   	push   %ecx
94862b:	8b 70 30             	mov    0x30(%eax),%esi
94862e:	8b ce                	mov    %esi,%ecx
948630:	e8 30 40 ae ff       	call   0x42c665
948635:	8b cf                	mov    %edi,%ecx
948637:	ff d6                	call   *%esi
948639:	8b 03                	mov    (%ebx),%eax
94863b:	8b b0 50 02 00 00    	mov    0x250(%eax),%esi
948641:	8b ce                	mov    %esi,%ecx
948643:	e8 1d 40 ae ff       	call   0x42c665
948648:	8b cb                	mov    %ebx,%ecx
94864a:	ff d6                	call   *%esi
94864c:	85 c0                	test   %eax,%eax
94864e:	0f 85 e1 00 00 00    	jne    0x948735
948654:	8d 45 d0             	lea    -0x30(%ebp),%eax
948657:	50                   	push   %eax
948658:	ff 15 30 3e d8 00    	call   *0xd83e30
94865e:	85 c0                	test   %eax,%eax
948660:	0f 85 b5 00 00 00    	jne    0x94871b
948666:	21 85 ac fe ff ff    	and    %eax,-0x154(%ebp)
94866c:	8b cb                	mov    %ebx,%ecx
94866e:	e8 21 89 ae ff       	call   0x430f94
948673:	85 c0                	test   %eax,%eax
948675:	74 31                	je     0x9486a8
948677:	8b cb                	mov    %ebx,%ecx
948679:	33 f6                	xor    %esi,%esi
94867b:	e8 e7 ae ab ff       	call   0x403567
948680:	85 c0                	test   %eax,%eax
948682:	74 14                	je     0x948698
948684:	39 70 20             	cmp    %esi,0x20(%eax)
948687:	74 0f                	je     0x948698
948689:	8b c8                	mov    %eax,%ecx
94868b:	e8 bc 1e ac ff       	call   0x40a54c
948690:	8b f0                	mov    %eax,%esi
948692:	81 e6 00 00 40 00    	and    $0x400000,%esi
948698:	f7 de                	neg    %esi
94869a:	1b f6                	sbb    %esi,%esi
94869c:	83 e6 03             	and    $0x3,%esi
94869f:	83 c6 0e             	add    $0xe,%esi
9486a2:	89 b5 ac fe ff ff    	mov    %esi,-0x154(%ebp)