50922c:	74 14                	je     0x509242
50922e:	33 ed                	xor    %ebp,%ebp
509230:	8b 03                	mov    (%ebx),%eax
509232:	c7 40 14 4a 00 00 00 	movl   $0x4a,0x14(%eax)
509239:	33 d2                	xor    %edx,%edx
50923b:	8b c3                	mov    %ebx,%eax
50923d:	8b 08                	mov    (%eax),%ecx
50923f:	ff 51 04             	call   *0x4(%ecx)
509242:	83 bb ac 00 00 00 00 	cmpl   $0x0,0xac(%ebx)
509249:	74 0e                	je     0x509259
50924b:	ba c9 00 00 00       	mov    $0xc9,%edx
509250:	8b c3                	mov    %ebx,%eax
509252:	e8 29 fc ff ff       	call   0x508e80
509257:	eb 35                	jmp    0x50928e
509259:	83 bb dc 00 00 00 00 	cmpl   $0x0,0xdc(%ebx)
509260:	74 0e                	je     0x509270
509262:	ba c2 00 00 00       	mov    $0xc2,%edx
509267:	8b c3                	mov    %ebx,%eax
509269:	e8 12 fc ff ff       	call   0x508e80
50926e:	eb 1e                	jmp    0x50928e
509270:	85 ed                	test   %ebp,%ebp
509272:	74 0e                	je     0x509282
509274:	ba c0 00 00 00       	mov    $0xc0,%edx
509279:	8b c3                	mov    %ebx,%eax
50927b:	e8 00 fc ff ff       	call   0x508e80
509280:	eb 0c                	jmp    0x50928e
509282:	ba c1 00 00 00       	mov    $0xc1,%edx
509287:	8b c3                	mov    %ebx,%eax
509289:	e8 f2 fb ff ff       	call   0x508e80
50928e:	5a                   	pop    %edx
50928f:	5d                   	pop    %ebp
509290:	5f                   	pop    %edi
509291:	5e                   	pop    %esi
509292:	5b                   	pop    %ebx
509293:	c3                   	ret
509294:	53                   	push   %ebx
509295:	8b d8                	mov    %eax,%ebx
509297:	56                   	push   %esi
509298:	57                   	push   %edi
509299:	55                   	push   %ebp
50929a:	83 bb ac 00 00 00 00 	cmpl   $0x0,0xac(%ebx)
5092a1:	74 09                	je     0x5092ac
5092a3:	8b c3                	mov    %ebx,%eax
5092a5:	e8 a6 fb ff ff       	call   0x508e50
5092aa:	eb 6d                	jmp    0x509319
5092ac:	33 ed                	xor    %ebp,%ebp
5092ae:	8d bb f0 00 00 00    	lea    0xf0(%ebx),%edi
5092b4:	eb 5b                	jmp    0x509311
5092b6:	83 bb dc 00 00 00 00 	cmpl   $0x0,0xdc(%ebx)
5092bd:	8b 37                	mov    (%edi),%esi
5092bf:	74 31                	je     0x5092f2
5092c1:	83 bb 34 01 00 00 00 	cmpl   $0x0,0x134(%ebx)
5092c8:	75 17                	jne    0x5092e1
5092ca:	83 bb 3c 01 00 00 00 	cmpl   $0x0,0x13c(%ebx)
5092d1:	75 3a                	jne    0x50930d
5092d3:	33 c9                	xor    %ecx,%ecx
5092d5:	8b 56 14             	mov    0x14(%esi),%edx
5092d8:	8b c3                	mov    %ebx,%eax
5092da:	e8 95 fa ff ff       	call   0x508d74
5092df:	eb 2c                	jmp    0x50930d
5092e1:	b9 01 00 00 00       	mov    $0x1,%ecx
5092e6:	8b 56 18             	mov    0x18(%esi),%edx
5092e9:	8b c3                	mov    %ebx,%eax
5092eb:	e8 84 fa ff ff       	call   0x508d74
5092f0:	eb 1b                	jmp    0x50930d
5092f2:	33 c9                	xor    %ecx,%ecx
5092f4:	8b 56 14             	mov    0x14(%esi),%edx
5092f7:	8b c3                	mov    %ebx,%eax
5092f9:	e8 76 fa ff ff       	call   0x508d74
5092fe:	b9 01 00 00 00       	mov    $0x1,%ecx
509303:	8b 56 18             	mov    0x18(%esi),%edx
509306:	8b c3                	mov    %ebx,%eax
509308:	e8 67 fa ff ff       	call   0x508d74
50930d:	45                   	inc    %ebp
50930e:	83 c7 04             	add    $0x4,%edi
509311:	3b ab ec 00 00 00    	cmp    0xec(%ebx),%ebp
509317:	7c 9d                	jl     0x5092b6
509319:	83 bb c0 00 00 00 00 	cmpl   $0x0,0xc0(%ebx)
509320:	74 07                	je     0x509329
509322:	8b c3                	mov    %ebx,%eax
509324:	e8 2b fb ff ff       	call   0x508e54
509329:	8b c3                	mov    %ebx,%eax
50932b:	e8 f4 fb ff ff       	call   0x508f24
509330:	5d                   	pop    %ebp
509331:	5f                   	pop    %edi
509332:	5e                   	pop    %esi
509333:	5b                   	pop    %ebx
509334:	c3                   	ret
509335:	90                   	nop
509336:	90                   	nop
509337:	90                   	nop
509338:	ba d9 00 00 00       	mov    $0xd9,%edx
50933d:	e8 02 f9 ff ff       	call   0x508c44
509342:	c3                   	ret
509343:	90                   	nop
509344:	53                   	push   %ebx
509345:	56                   	push   %esi
509346:	57                   	push   %edi
509347:	8b f8                	mov    %eax,%edi
509349:	ba d8 00 00 00       	mov    $0xd8,%edx
50934e:	8b c7                	mov    %edi,%eax
509350:	e8 ef f8 ff ff       	call   0x508c44
509355:	33 db                	xor    %ebx,%ebx
509357:	8d 77 40             	lea    0x40(%edi),%esi
50935a:	83 3e 00             	cmpl   $0x0,(%esi)
50935d:	74 09                	je     0x509368
50935f:	8b d3                	mov    %ebx,%edx
509361:	8b c7                	mov    %edi,%eax
509363:	e8 28 f9 ff ff       	call   0x508c90
509368:	43                   	inc    %ebx
509369:	83 c6 04             	add    $0x4,%esi
50936c:	83 fb 04             	cmp    $0x4,%ebx
50936f:	7c e9                	jl     0x50935a
509371:	83 bf ac 00 00 00 00 	cmpl   $0x0,0xac(%edi)
509378:	75 32                	jne    0x5093ac
50937a:	33 db                	xor    %ebx,%ebx
50937c:	8d 77 50             	lea    0x50(%edi),%esi
50937f:	83 3e 00             	cmpl   $0x0,(%esi)
509382:	74 0b                	je     0x50938f
509384:	33 c9                	xor    %ecx,%ecx
509386:	8b d3                	mov    %ebx,%edx
509388:	8b c7                	mov    %edi,%eax
50938a:	e8 e5 f9 ff ff       	call   0x508d74
50938f:	83 7e 10 00          	cmpl   $0x0,0x10(%esi)
509393:	74 0e                	je     0x5093a3
509395:	b9 01 00 00 00       	mov    $0x1,%ecx
50939a:	8b d3                	mov    %ebx,%edx
50939c:	8b c7                	mov    %edi,%eax
50939e:	e8 d1 f9 ff ff       	call   0x508d74
5093a3:	43                   	inc    %ebx
5093a4:	83 c6 04             	add    $0x4,%esi
5093a7:	83 fb 04             	cmp    $0x4,%ebx
5093aa:	7c d3                	jl     0x50937f
5093ac:	ba d9 00 00 00       	mov    $0xd9,%edx
5093b1:	8b c7                	mov    %edi,%eax
5093b3:	e8 8c f8 ff ff       	call   0x508c44
5093b8:	5f                   	pop    %edi
5093b9:	5e                   	pop    %esi
5093ba:	5b                   	pop    %ebx
5093bb:	c3                   	ret
5093bc:	53                   	push   %ebx
5093bd:	8b d8                	mov    %eax,%ebx
5093bf:	8b c3                	mov    %ebx,%eax
5093c1:	56                   	push   %esi
5093c2:	b9 18 00 00 00       	mov    $0x18,%ecx
5093c7:	ba 01 00 00 00       	mov    $0x1,%edx
5093cc:	8b 70 04             	mov    0x4(%eax),%esi
5093cf:	ff 16                	call   *(%esi)
5093d1:	8b f0                	mov    %eax,%esi
5093d3:	89 b3 54 01 00 00    	mov    %esi,0x154(%ebx)
5093d9:	c7 06 44 91 50 00    	movl   $0x509144,(%esi)
5093df:	c7 46 04 88 91 50 00 	movl   $0x509188,0x4(%esi)
5093e6:	c7 46 08 bc 91 50 00 	movl   $0x5091bc,0x8(%esi)
5093ed:	c7 46 0c 94 92 50 00 	movl   $0x509294,0xc(%esi)
5093f4:	c7 46 10 38 93 50 00 	movl   $0x509338,0x10(%esi)
5093fb:	c7 46 14 44 93 50 00 	movl   $0x509344,0x14(%esi)
509402:	5e                   	pop    %esi
509403:	5b                   	pop    %ebx
509404:	c3                   	ret
509405:	8d 40 00             	lea    0x0(%eax),%eax
509408:	53                   	push   %ebx
509409:	8b d8                	mov    %eax,%ebx
50940b:	56                   	push   %esi
50940c:	57                   	push   %edi
50940d:	83 7b 1c 00          	cmpl   $0x0,0x1c(%ebx)
509411:	76 12                	jbe    0x509425
509413:	83 7b 18 00          	cmpl   $0x0,0x18(%ebx)
509417:	76 0c                	jbe    0x509425
509419:	83 7b 34 00          	cmpl   $0x0,0x34(%ebx)
50941d:	7e 06                	jle    0x509425
50941f:	83 7b 20 00          	cmpl   $0x0,0x20(%ebx)
509423:	7f 0f                	jg     0x509434
509425:	8b 03                	mov    (%ebx),%eax
509427:	c7 40 14 1f 00 00 00 	movl   $0x1f,0x14(%eax)
50942e:	8b c3                	mov    %ebx,%eax
509430:	8b 10                	mov    (%eax),%edx
509432:	ff 12                	call   *(%edx)
509434:	81 7b 1c dc ff 00 00 	cmpl   $0xffdc,0x1c(%ebx)
50943b:	7f 09                	jg     0x509446
50943d:	81 7b 18 dc ff 00 00 	cmpl   $0xffdc,0x18(%ebx)
509444:	7e 16                	jle    0x50945c
509446:	8b 03                	mov    (%ebx),%eax
509448:	c7 40 14 28 00 00 00 	movl   $0x28,0x14(%eax)
50944f:	c7 40 18 dc ff 00 00 	movl   $0xffdc,0x18(%eax)
509456:	8b c3                	mov    %ebx,%eax
509458:	8b 10                	mov    (%eax),%edx
50945a:	ff 12                	call   *(%edx)
50945c:	8b 43 18             	mov    0x18(%ebx),%eax
50945f:	f7 6b 20             	imull  0x20(%ebx)
509462:	8b d0                	mov    %eax,%edx
509464:	3b c2                	cmp    %edx,%eax
509466:	74 0f                	je     0x509477
509468:	8b 0b                	mov    (%ebx),%ecx
50946a:	8b c3                	mov    %ebx,%eax
50946c:	c7 41 14 45 00 00 00 	movl   $0x45,0x14(%ecx)
509473:	8b 10                	mov    (%eax),%edx
509475:	ff 12                	call   *(%edx)
509477:	83 7b 30 08          	cmpl   $0x8,0x30(%ebx)
50947b:	74 15                	je     0x509492
50947d:	8b 03                	mov    (%ebx),%eax
50947f:	c7 40 14 0d 00 00 00 	movl   $0xd,0x14(%eax)
509486:	8b 53 30             	mov    0x30(%ebx),%edx
509489:	89 50 18             	mov    %edx,0x18(%eax)
50948c:	8b c3                	mov    %ebx,%eax
50948e:	8b 10                	mov    (%eax),%edx
509490:	ff 12                	call   *(%edx)
509492:	83 7b 34 0a          	cmpl   $0xa,0x34(%ebx)
509496:	7e 1c                	jle    0x5094b4
509498:	8b 03                	mov    (%ebx),%eax
50949a:	c7 40 14 18 00 00 00 	movl   $0x18,0x14(%eax)
5094a1:	8b 53 34             	mov    0x34(%ebx),%edx
5094a4:	89 50 18             	mov    %edx,0x18(%eax)
5094a7:	c7 40 1c 0a 00 00 00 	movl   $0xa,0x1c(%eax)
5094ae:	8b c3                	mov    %ebx,%eax
5094b0:	8b 10                	mov    (%eax),%edx
5094b2:	ff 12                	call   *(%edx)
5094b4:	c7 83 e0 00 00 00 01 	movl   $0x1,0xe0(%ebx)
5094bb:	00 00 00
5094be:	c7 83 e4 00 00 00 01 	movl   $0x1,0xe4(%ebx)
5094c5:	00 00 00
5094c8:	33 ff                	xor    %edi,%edi
5094ca:	8b 73 3c             	mov    0x3c(%ebx),%esi
5094cd:	eb 63                	jmp    0x509532
5094cf:	8b 46 08             	mov    0x8(%esi),%eax
5094d2:	85 c0                	test   %eax,%eax
5094d4:	7e 11                	jle    0x5094e7
5094d6:	83 f8 04             	cmp    $0x4,%eax
5094d9:	7f 0c                	jg     0x5094e7
5094db:	83 7e 0c 00          	cmpl   $0x0,0xc(%esi)
5094df:	7e 06                	jle    0x5094e7
5094e1:	83 7e 0c 04          	cmpl   $0x4,0xc(%esi)
5094e5:	7e 0f                	jle    0x5094f6
5094e7:	8b 13                	mov    (%ebx),%edx
5094e9:	8b c3                	mov    %ebx,%eax
5094eb:	c7 42 14 10 00 00 00 	movl   $0x10,0x14(%edx)
5094f2:	8b 10                	mov    (%eax),%edx
5094f4:	ff 12                	call   *(%edx)
5094f6:	8b 8b e0 00 00 00    	mov    0xe0(%ebx),%ecx
5094fc:	3b 4e 08             	cmp    0x8(%esi),%ecx
5094ff:	7e 08                	jle    0x509509
509501:	8b 83 e0 00 00 00    	mov    0xe0(%ebx),%eax
509507:	eb 03                	jmp    0x50950c
509509:	8b 46 08             	mov    0x8(%esi),%eax
50950c:	89 83 e0 00 00 00    	mov    %eax,0xe0(%ebx)
509512:	8b 93 e4 00 00 00    	mov    0xe4(%ebx),%edx
509518:	3b 56 0c             	cmp    0xc(%esi),%edx
50951b:	7e 08                	jle    0x509525
50951d:	8b 8b e4 00 00 00    	mov    0xe4(%ebx),%ecx
509523:	eb 03                	jmp    0x509528
509525:	8b 4e 0c             	mov    0xc(%esi),%ecx
509528:	89 8b e4 00 00 00    	mov    %ecx,0xe4(%ebx)
50952e:	47                   	inc    %edi
50952f:	83 c6 54             	add    $0x54,%esi
509532:	3b 7b 34             	cmp    0x34(%ebx),%edi
509535:	7c 98                	jl     0x5094cf
509537:	33 ff                	xor    %edi,%edi
509539:	8b 73 3c             	mov    0x3c(%ebx),%esi
50953c:	eb 6f                	jmp    0x5095ad
50953e:	89 7e 04             	mov    %edi,0x4(%esi)
509541:	47                   	inc    %edi
509542:	c7 46 24 08 00 00 00 	movl   $0x8,0x24(%esi)
509549:	8b 43 18             	mov    0x18(%ebx),%eax
50954c:	8b 8b e0 00 00 00    	mov    0xe0(%ebx),%ecx
509552:	f7 6e 08             	imull  0x8(%esi)
509555:	c1 e1 03             	shl    $0x3,%ecx
509558:	03 c1                	add    %ecx,%eax
50955a:	48                   	dec    %eax
50955b:	99                   	cltd
50955c:	f7 f9                	idiv   %ecx
50955e:	89 46 1c             	mov    %eax,0x1c(%esi)
509561:	8b 43 1c             	mov    0x1c(%ebx),%eax
509564:	8b 8b e4 00 00 00    	mov    0xe4(%ebx),%ecx
50956a:	f7 6e 0c             	imull  0xc(%esi)
50956d:	c1 e1 03             	shl    $0x3,%ecx
509570:	03 c1                	add    %ecx,%eax
509572:	48                   	dec    %eax
509573:	99                   	cltd
509574:	f7 f9                	idiv   %ecx
509576:	89 46 20             	mov    %eax,0x20(%esi)
509579:	8b 43 18             	mov    0x18(%ebx),%eax
50957c:	8b 8b e0 00 00 00    	mov    0xe0(%ebx),%ecx
509582:	f7 6e 08             	imull  0x8(%esi)
509585:	03 c1                	add    %ecx,%eax
509587:	48                   	dec    %eax
509588:	99                   	cltd
509589:	f7 f9                	idiv   %ecx
50958b:	89 46 28             	mov    %eax,0x28(%esi)
50958e:	8b 43 1c             	mov    0x1c(%ebx),%eax
509591:	8b 8b e4 00 00 00    	mov    0xe4(%ebx),%ecx
509597:	f7 6e 0c             	imull  0xc(%esi)
50959a:	03 c1                	add    %ecx,%eax
50959c:	48                   	dec    %eax
50959d:	99                   	cltd
50959e:	f7 f9                	idiv   %ecx
5095a0:	89 46 2c             	mov    %eax,0x2c(%esi)
5095a3:	c7 46 30 01 00 00 00 	movl   $0x1,0x30(%esi)
5095aa:	83 c6 54             	add    $0x54,%esi
5095ad:	3b 7b 34             	cmp    0x34(%ebx),%edi
5095b0:	7c 8c                	jl     0x50953e
5095b2:	8b 8b e4 00 00 00    	mov    0xe4(%ebx),%ecx
5095b8:	c1 e1 03             	shl    $0x3,%ecx
5095bb:	8b c1                	mov    %ecx,%eax
5095bd:	03 43 1c             	add    0x1c(%ebx),%eax
5095c0:	48                   	dec    %eax
5095c1:	99                   	cltd
5095c2:	f7 f9                	idiv   %ecx
5095c4:	89 83 e8 00 00 00    	mov    %eax,0xe8(%ebx)
5095ca:	5f                   	pop    %edi
5095cb:	5e                   	pop    %esi
5095cc:	5b                   	pop    %ebx
5095cd:	c3                   	ret
5095ce:	90                   	nop
5095cf:	90                   	nop
5095d0:	53                   	push   %ebx
5095d1:	56                   	push   %esi
5095d2:	57                   	push   %edi
5095d3:	8b f0                	mov    %eax,%esi
5095d5:	55                   	push   %ebp
5095d6:	81 c4 b8 f5 ff ff    	add    $0xfffff5b8,%esp
5095dc:	83 be a0 00 00 00 00 	cmpl   $0x0,0xa0(%esi)
5095e3:	7f 16                	jg     0x5095fb
5095e5:	8b 06                	mov    (%esi),%eax
5095e7:	33 c9                	xor    %ecx,%ecx
5095e9:	c7 40 14 11 00 00 00 	movl   $0x11,0x14(%eax)
5095f0:	8b 16                	mov    (%esi),%edx
5095f2:	8b c6                	mov    %esi,%eax
5095f4:	89 4a 18             	mov    %ecx,0x18(%edx)
5095f7:	8b 10                	mov    (%eax),%edx
5095f9:	ff 12                	call   *(%edx)
5095fb:	8b 8e a4 00 00 00    	mov    0xa4(%esi),%ecx
509601:	89 0c 24             	mov    %ecx,(%esp)
509604:	8b 04 24             	mov    (%esp),%eax
509607:	83 78 14 00          	cmpl   $0x0,0x14(%eax)
50960b:	75 09                	jne    0x509616
50960d:	8b 14 24             	mov    (%esp),%edx
509610:	83 7a 18 3f          	cmpl   $0x3f,0x18(%edx)
509614:	74 36                	je     0x50964c
509616:	c7 86 dc 00 00 00 01 	movl   $0x1,0xdc(%esi)
50961d:	00 00 00
509620:	8d 5c 24 48          	lea    0x48(%esp),%ebx
509624:	33 c0                	xor    %eax,%eax
509626:	89 44 24 0c          	mov    %eax,0xc(%esp)
50962a:	eb 15                	jmp    0x509641
50962c:	33 ff                	xor    %edi,%edi
50962e:	c7 03 ff ff ff ff    	movl   $0xffffffff,(%ebx)
509634:	83 c3 04             	add    $0x4,%ebx
509637:	47                   	inc    %edi
509638:	83 ff 40             	cmp    $0x40,%edi
50963b:	7c f1                	jl     0x50962e
50963d:	ff 44 24 0c          	incl   0xc(%esp)