502367:	eb 1d                	jmp    0x502386
502369:	33 d2                	xor    %edx,%edx
50236b:	3b 5d e4             	cmp    -0x1c(%ebp),%ebx
50236e:	7f 0c                	jg     0x50237c
502370:	8b c3                	mov    %ebx,%eax
502372:	2b 45 f0             	sub    -0x10(%ebp),%eax
502375:	8b c8                	mov    %eax,%ecx
502377:	0f af c8             	imul   %eax,%ecx
50237a:	eb 0a                	jmp    0x502386
50237c:	8b c3                	mov    %ebx,%eax
50237e:	2b 45 fc             	sub    -0x4(%ebp),%eax
502381:	8b c8                	mov    %eax,%ecx
502383:	0f af c8             	imul   %eax,%ecx
502386:	8b 45 cc             	mov    -0x34(%ebp),%eax
502389:	33 db                	xor    %ebx,%ebx
50238b:	8a 18                	mov    (%eax),%bl
50238d:	3b 5d f8             	cmp    -0x8(%ebp),%ebx
502390:	7d 1e                	jge    0x5023b0
502392:	8b c3                	mov    %ebx,%eax
502394:	2b 45 f8             	sub    -0x8(%ebp),%eax
502397:	2b 5d ec             	sub    -0x14(%ebp),%ebx
50239a:	8d 04 40             	lea    (%eax,%eax,2),%eax
50239d:	8b f0                	mov    %eax,%esi
50239f:	0f af f0             	imul   %eax,%esi
5023a2:	8d 04 5b             	lea    (%ebx,%ebx,2),%eax
5023a5:	03 d6                	add    %esi,%edx
5023a7:	8b d8                	mov    %eax,%ebx
5023a9:	0f af d8             	imul   %eax,%ebx
5023ac:	03 cb                	add    %ebx,%ecx
5023ae:	eb 44                	jmp    0x5023f4
5023b0:	3b 5d ec             	cmp    -0x14(%ebp),%ebx
5023b3:	7e 1e                	jle    0x5023d3
5023b5:	8b c3                	mov    %ebx,%eax
5023b7:	2b 45 ec             	sub    -0x14(%ebp),%eax
5023ba:	2b 5d f8             	sub    -0x8(%ebp),%ebx
5023bd:	8d 04 40             	lea    (%eax,%eax,2),%eax
5023c0:	8b f0                	mov    %eax,%esi
5023c2:	0f af f0             	imul   %eax,%esi
5023c5:	8d 04 5b             	lea    (%ebx,%ebx,2),%eax
5023c8:	03 d6                	add    %esi,%edx
5023ca:	8b d8                	mov    %eax,%ebx
5023cc:	0f af d8             	imul   %eax,%ebx
5023cf:	03 cb                	add    %ebx,%ecx
5023d1:	eb 21                	jmp    0x5023f4
5023d3:	3b 5d e0             	cmp    -0x20(%ebp),%ebx
5023d6:	7f 0f                	jg     0x5023e7
5023d8:	2b 5d ec             	sub    -0x14(%ebp),%ebx
5023db:	8d 04 5b             	lea    (%ebx,%ebx,2),%eax
5023de:	8b d8                	mov    %eax,%ebx
5023e0:	0f af d8             	imul   %eax,%ebx
5023e3:	03 cb                	add    %ebx,%ecx
5023e5:	eb 0d                	jmp    0x5023f4
5023e7:	2b 5d f8             	sub    -0x8(%ebp),%ebx
5023ea:	8d 04 5b             	lea    (%ebx,%ebx,2),%eax
5023ed:	8b d8                	mov    %eax,%ebx
5023ef:	0f af d8             	imul   %eax,%ebx
5023f2:	03 cb                	add    %ebx,%ecx
5023f4:	8b 45 c8             	mov    -0x38(%ebp),%eax
5023f7:	33 db                	xor    %ebx,%ebx
5023f9:	8a 18                	mov    (%eax),%bl
5023fb:	3b 5d 0c             	cmp    0xc(%ebp),%ebx
5023fe:	7d 1e                	jge    0x50241e
502400:	8b c3                	mov    %ebx,%eax
502402:	2b 45 0c             	sub    0xc(%ebp),%eax
502405:	03 c0                	add    %eax,%eax
502407:	8b f0                	mov    %eax,%esi
502409:	0f af f0             	imul   %eax,%esi
50240c:	03 d6                	add    %esi,%edx
50240e:	8b c3                	mov    %ebx,%eax
502410:	2b 45 e8             	sub    -0x18(%ebp),%eax
502413:	03 c0                	add    %eax,%eax
502415:	8b d8                	mov    %eax,%ebx
502417:	0f af d8             	imul   %eax,%ebx
50241a:	03 cb                	add    %ebx,%ecx
50241c:	eb 46                	jmp    0x502464
50241e:	3b 5d e8             	cmp    -0x18(%ebp),%ebx
502421:	7e 1e                	jle    0x502441
502423:	8b c3                	mov    %ebx,%eax
502425:	2b 45 e8             	sub    -0x18(%ebp),%eax
502428:	03 c0                	add    %eax,%eax
50242a:	8b f0                	mov    %eax,%esi
50242c:	0f af f0             	imul   %eax,%esi
50242f:	03 d6                	add    %esi,%edx
502431:	8b c3                	mov    %ebx,%eax
502433:	2b 45 0c             	sub    0xc(%ebp),%eax
502436:	03 c0                	add    %eax,%eax
502438:	8b d8                	mov    %eax,%ebx
50243a:	0f af d8             	imul   %eax,%ebx
50243d:	03 cb                	add    %ebx,%ecx
50243f:	eb 23                	jmp    0x502464
502441:	3b 5d dc             	cmp    -0x24(%ebp),%ebx
502444:	7f 10                	jg     0x502456
502446:	8b c3                	mov    %ebx,%eax
502448:	2b 45 e8             	sub    -0x18(%ebp),%eax
50244b:	03 c0                	add    %eax,%eax
50244d:	8b d8                	mov    %eax,%ebx
50244f:	0f af d8             	imul   %eax,%ebx
502452:	03 cb                	add    %ebx,%ecx
502454:	eb 0e                	jmp    0x502464
502456:	8b c3                	mov    %ebx,%eax
502458:	2b 45 0c             	sub    0xc(%ebp),%eax
50245b:	03 c0                	add    %eax,%eax
50245d:	8b d8                	mov    %eax,%ebx
50245f:	0f af d8             	imul   %eax,%ebx
502462:	03 cb                	add    %ebx,%ecx
502464:	8b 45 c4             	mov    -0x3c(%ebp),%eax
502467:	89 10                	mov    %edx,(%eax)
502469:	3b 4d d4             	cmp    -0x2c(%ebp),%ecx
50246c:	7d 03                	jge    0x502471
50246e:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
502471:	ff 45 d8             	incl   -0x28(%ebp)
502474:	83 45 c4 04          	addl   $0x4,-0x3c(%ebp)
502478:	ff 45 c8             	incl   -0x38(%ebp)
50247b:	ff 45 cc             	incl   -0x34(%ebp)
50247e:	ff 45 d0             	incl   -0x30(%ebp)
502481:	8b 55 d8             	mov    -0x28(%ebp),%edx
502484:	3b 55 f4             	cmp    -0xc(%ebp),%edx
502487:	0f 8c 9f fe ff ff    	jl     0x50232c
50248d:	33 c0                	xor    %eax,%eax
50248f:	33 c9                	xor    %ecx,%ecx
502491:	89 45 d8             	mov    %eax,-0x28(%ebp)
502494:	8d 85 c4 fb ff ff    	lea    -0x43c(%ebp),%eax
50249a:	8b 5d d8             	mov    -0x28(%ebp),%ebx
50249d:	8b 55 08             	mov    0x8(%ebp),%edx
5024a0:	3b 5d f4             	cmp    -0xc(%ebp),%ebx
5024a3:	7d 1c                	jge    0x5024c1
5024a5:	8b 18                	mov    (%eax),%ebx
5024a7:	3b 5d d4             	cmp    -0x2c(%ebp),%ebx
5024aa:	7f 07                	jg     0x5024b3
5024ac:	8a 5d d8             	mov    -0x28(%ebp),%bl
5024af:	41                   	inc    %ecx
5024b0:	88 1a                	mov    %bl,(%edx)
5024b2:	42                   	inc    %edx
5024b3:	ff 45 d8             	incl   -0x28(%ebp)
5024b6:	83 c0 04             	add    $0x4,%eax
5024b9:	8b 5d d8             	mov    -0x28(%ebp),%ebx
5024bc:	3b 5d f4             	cmp    -0xc(%ebp),%ebx
5024bf:	7c e4                	jl     0x5024a5
5024c1:	8b c1                	mov    %ecx,%eax
5024c3:	5e                   	pop    %esi
5024c4:	5b                   	pop    %ebx
5024c5:	8b e5                	mov    %ebp,%esp
5024c7:	5d                   	pop    %ebp
5024c8:	c2 08 00             	ret    $0x8
5024cb:	90                   	nop
5024cc:	55                   	push   %ebp
5024cd:	8b ec                	mov    %esp,%ebp
5024cf:	81 c4 c4 fd ff ff    	add    $0xfffffdc4,%esp
5024d5:	53                   	push   %ebx
5024d6:	56                   	push   %esi
5024d7:	57                   	push   %edi
5024d8:	89 4d f4             	mov    %ecx,-0xc(%ebp)
5024db:	89 55 f8             	mov    %edx,-0x8(%ebp)
5024de:	89 45 fc             	mov    %eax,-0x4(%ebp)
5024e1:	c7 45 e8 7f 00 00 00 	movl   $0x7f,-0x18(%ebp)
5024e8:	8d 8d c4 fd ff ff    	lea    -0x23c(%ebp),%ecx
5024ee:	c7 01 ff ff ff 7f    	movl   $0x7fffffff,(%ecx)
5024f4:	83 c1 04             	add    $0x4,%ecx
5024f7:	ff 4d e8             	decl   -0x18(%ebp)
5024fa:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
5024fe:	7d ee                	jge    0x5024ee
502500:	33 c0                	xor    %eax,%eax
502502:	89 45 e8             	mov    %eax,-0x18(%ebp)
502505:	8b 55 0c             	mov    0xc(%ebp),%edx
502508:	8b c2                	mov    %edx,%eax
50250a:	89 45 c4             	mov    %eax,-0x3c(%ebp)
50250d:	8b 55 e8             	mov    -0x18(%ebp),%edx
502510:	3b 55 10             	cmp    0x10(%ebp),%edx
502513:	0f 8d 22 01 00 00    	jge    0x50263b
502519:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
50251c:	33 c0                	xor    %eax,%eax
50251e:	8a 01                	mov    (%ecx),%al
502520:	89 45 e4             	mov    %eax,-0x1c(%ebp)
502523:	8b 55 fc             	mov    -0x4(%ebp),%edx
502526:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
502529:	8b 92 84 00 00 00    	mov    0x84(%edx),%edx
50252f:	8b 02                	mov    (%edx),%eax
502531:	0f b6 04 08          	movzbl (%eax,%ecx,1),%eax
502535:	50                   	push   %eax
502536:	8b 45 f8             	mov    -0x8(%ebp),%eax
502539:	59                   	pop    %ecx
50253a:	2b c1                	sub    %ecx,%eax
50253c:	8b c8                	mov    %eax,%ecx
50253e:	0f af c8             	imul   %eax,%ecx
502541:	89 4d dc             	mov    %ecx,-0x24(%ebp)
502544:	8b 4a 04             	mov    0x4(%edx),%ecx
502547:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
50254a:	c1 e0 04             	shl    $0x4,%eax
50254d:	0f b6 0c 19          	movzbl (%ecx,%ebx,1),%ecx
502551:	8b 5d f4             	mov    -0xc(%ebp),%ebx
502554:	83 c0 40             	add    $0x40,%eax
502557:	2b d9                	sub    %ecx,%ebx
502559:	8d 0c 5b             	lea    (%ebx,%ebx,2),%ecx
50255c:	89 4d cc             	mov    %ecx,-0x34(%ebp)
50255f:	8b 4d cc             	mov    -0x34(%ebp),%ecx
502562:	0f af 4d cc          	imul   -0x34(%ebp),%ecx
502566:	01 4d dc             	add    %ecx,-0x24(%ebp)
502569:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
50256c:	8b 52 08             	mov    0x8(%edx),%edx
50256f:	0f b6 14 0a          	movzbl (%edx,%ecx,1),%edx
502573:	8b 4d 14             	mov    0x14(%ebp),%ecx
502576:	2b ca                	sub    %edx,%ecx
502578:	03 c9                	add    %ecx,%ecx
50257a:	89 4d c8             	mov    %ecx,-0x38(%ebp)
50257d:	8b 55 c8             	mov    -0x38(%ebp),%edx
502580:	0f af 55 c8          	imul   -0x38(%ebp),%edx
502584:	01 55 dc             	add    %edx,-0x24(%ebp)
502587:	8b 55 cc             	mov    -0x34(%ebp),%edx
50258a:	c1 e2 03             	shl    $0x3,%edx
50258d:	8d 14 52             	lea    (%edx,%edx,2),%edx
502590:	81 c2 90 00 00 00    	add    $0x90,%edx
502596:	89 55 cc             	mov    %edx,-0x34(%ebp)
502599:	8b 4d c8             	mov    -0x38(%ebp),%ecx
50259c:	c1 e1 05             	shl    $0x5,%ecx
50259f:	81 c1 00 01 00 00    	add    $0x100,%ecx
5025a5:	89 4d c8             	mov    %ecx,-0x38(%ebp)
5025a8:	8d 8d c4 fd ff ff    	lea    -0x23c(%ebp),%ecx
5025ae:	8b 55 08             	mov    0x8(%ebp),%edx
5025b1:	89 55 e0             	mov    %edx,-0x20(%ebp)
5025b4:	89 45 d4             	mov    %eax,-0x2c(%ebp)
5025b7:	c7 45 f0 03 00 00 00 	movl   $0x3,-0x10(%ebp)
5025be:	8b 45 dc             	mov    -0x24(%ebp),%eax
5025c1:	89 45 d8             	mov    %eax,-0x28(%ebp)
5025c4:	8b 45 cc             	mov    -0x34(%ebp),%eax
5025c7:	89 45 d0             	mov    %eax,-0x30(%ebp)
5025ca:	c7 45 ec 07 00 00 00 	movl   $0x7,-0x14(%ebp)
5025d1:	8b 75 d8             	mov    -0x28(%ebp),%esi
5025d4:	8b 55 c8             	mov    -0x38(%ebp),%edx
5025d7:	b8 03 00 00 00       	mov    $0x3,%eax
5025dc:	3b 31                	cmp    (%ecx),%esi
5025de:	7d 0a                	jge    0x5025ea
5025e0:	89 31                	mov    %esi,(%ecx)
5025e2:	8a 5d e4             	mov    -0x1c(%ebp),%bl
5025e5:	8b 7d e0             	mov    -0x20(%ebp),%edi
5025e8:	88 1f                	mov    %bl,(%edi)
5025ea:	03 f2                	add    %edx,%esi
5025ec:	81 c2 00 02 00 00    	add    $0x200,%edx
5025f2:	83 c1 04             	add    $0x4,%ecx
5025f5:	ff 45 e0             	incl   -0x20(%ebp)
5025f8:	48                   	dec    %eax
5025f9:	85 c0                	test   %eax,%eax
5025fb:	7d df                	jge    0x5025dc
5025fd:	8b 45 d0             	mov    -0x30(%ebp),%eax
502600:	01 45 d8             	add    %eax,-0x28(%ebp)
502603:	81 45 d0 20 01 00 00 	addl   $0x120,-0x30(%ebp)
50260a:	ff 4d ec             	decl   -0x14(%ebp)
50260d:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
502611:	7d be                	jge    0x5025d1
502613:	8b 55 d4             	mov    -0x2c(%ebp),%edx
502616:	01 55 dc             	add    %edx,-0x24(%ebp)
502619:	81 45 d4 80 00 00 00 	addl   $0x80,-0x2c(%ebp)
502620:	ff 4d f0             	decl   -0x10(%ebp)
502623:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
502627:	7d 95                	jge    0x5025be
502629:	ff 45 e8             	incl   -0x18(%ebp)
50262c:	ff 45 c4             	incl   -0x3c(%ebp)
50262f:	8b 4d e8             	mov    -0x18(%ebp),%ecx
502632:	3b 4d 10             	cmp    0x10(%ebp),%ecx
502635:	0f 8c de fe ff ff    	jl     0x502519
50263b:	5f                   	pop    %edi
50263c:	5e                   	pop    %esi
50263d:	5b                   	pop    %ebx
50263e:	8b e5                	mov    %ebp,%esp
502640:	5d                   	pop    %ebp
502641:	c2 10 00             	ret    $0x10
502644:	55                   	push   %ebp
502645:	8b ec                	mov    %esp,%ebp
502647:	81 c4 6c fe ff ff    	add    $0xfffffe6c,%esp
50264d:	53                   	push   %ebx
50264e:	56                   	push   %esi
50264f:	57                   	push   %edi
502650:	8b d8                	mov    %eax,%ebx
502652:	89 4d f8             	mov    %ecx,-0x8(%ebp)
502655:	89 55 fc             	mov    %edx,-0x4(%ebp)
502658:	8b 83 c4 01 00 00    	mov    0x1c4(%ebx),%eax
50265e:	8d 8d ec fe ff ff    	lea    -0x114(%ebp),%ecx
502664:	8b 50 18             	mov    0x18(%eax),%edx
502667:	89 55 f4             	mov    %edx,-0xc(%ebp)
50266a:	c1 7d fc 02          	sarl   $0x2,-0x4(%ebp)
50266e:	c1 7d f8 03          	sarl   $0x3,-0x8(%ebp)
502672:	c1 7d 08 02          	sarl   $0x2,0x8(%ebp)
502676:	8b 75 fc             	mov    -0x4(%ebp),%esi
502679:	8b 7d f8             	mov    -0x8(%ebp),%edi
50267c:	8b 45 08             	mov    0x8(%ebp),%eax
50267f:	c1 e7 05             	shl    $0x5,%edi
502682:	c1 e6 05             	shl    $0x5,%esi
502685:	83 c7 02             	add    $0x2,%edi
502688:	c1 e0 05             	shl    $0x5,%eax
50268b:	83 c6 04             	add    $0x4,%esi
50268e:	83 c0 04             	add    $0x4,%eax
502691:	89 45 f0             	mov    %eax,-0x10(%ebp)
502694:	8b c3                	mov    %ebx,%eax
502696:	8b 55 f0             	mov    -0x10(%ebp),%edx
502699:	52                   	push   %edx
50269a:	51                   	push   %ecx
50269b:	8b cf                	mov    %edi,%ecx
50269d:	8b d6                	mov    %esi,%edx
50269f:	e8 e8 fb ff ff       	call   0x50228c
5026a4:	8b 55 f0             	mov    -0x10(%ebp),%edx
5026a7:	8d 8d 6c fe ff ff    	lea    -0x194(%ebp),%ecx
5026ad:	52                   	push   %edx
5026ae:	50                   	push   %eax
5026af:	8d 85 ec fe ff ff    	lea    -0x114(%ebp),%eax
5026b5:	8b d6                	mov    %esi,%edx
5026b7:	50                   	push   %eax
5026b8:	51                   	push   %ecx
5026b9:	8b cf                	mov    %edi,%ecx
5026bb:	8b c3                	mov    %ebx,%eax
5026bd:	e8 0a fe ff ff       	call   0x5024cc
5026c2:	c1 65 fc 02          	shll   $0x2,-0x4(%ebp)
5026c6:	c1 65 f8 03          	shll   $0x3,-0x8(%ebp)
5026ca:	c1 65 08 02          	shll   $0x2,0x8(%ebp)
5026ce:	8d 8d 6c fe ff ff    	lea    -0x194(%ebp),%ecx
5026d4:	33 c0                	xor    %eax,%eax
5026d6:	89 45 ec             	mov    %eax,-0x14(%ebp)
5026d9:	33 db                	xor    %ebx,%ebx
5026db:	8b 45 fc             	mov    -0x4(%ebp),%eax
5026de:	03 45 ec             	add    -0x14(%ebp),%eax
5026e1:	8b 55 f4             	mov    -0xc(%ebp),%edx
5026e4:	8b 04 82             	mov    (%edx,%eax,4),%eax
5026e7:	8b 55 f8             	mov    -0x8(%ebp),%edx
5026ea:	03 d3                	add    %ebx,%edx
5026ec:	c1 e2 06             	shl    $0x6,%edx
5026ef:	03 c2                	add    %edx,%eax
5026f1:	8b 55 08             	mov    0x8(%ebp),%edx
5026f4:	03 d2                	add    %edx,%edx
5026f6:	03 c2                	add    %edx,%eax
5026f8:	33 d2                	xor    %edx,%edx
5026fa:	0f b6 31             	movzbl (%ecx),%esi
5026fd:	46                   	inc    %esi
5026fe:	66 89 30             	mov    %si,(%eax)
502701:	41                   	inc    %ecx
502702:	83 c0 02             	add    $0x2,%eax
502705:	42                   	inc    %edx
502706:	83 fa 04             	cmp    $0x4,%edx
502709:	7c ef                	jl     0x5026fa
50270b:	43                   	inc    %ebx
50270c:	83 fb 08             	cmp    $0x8,%ebx
50270f:	7c ca                	jl     0x5026db
502711:	ff 45 ec             	incl   -0x14(%ebp)
502714:	83 7d ec 04          	cmpl   $0x4,-0x14(%ebp)
502718:	7c bf                	jl     0x5026d9
50271a:	5f                   	pop    %edi
50271b:	5e                   	pop    %esi
50271c:	5b                   	pop    %ebx
50271d:	8b e5                	mov    %ebp,%esp
50271f:	5d                   	pop    %ebp
502720:	c2 04 00             	ret    $0x4
502723:	90                   	nop
502724:	55                   	push   %ebp