48728e:	3b c1                	cmp    %ecx,%eax
487290:	74 26                	je     0x4872b8
487292:	56                   	push   %esi
487293:	8b 73 08             	mov    0x8(%ebx),%esi
487296:	8b d0                	mov    %eax,%edx
487298:	3b ce                	cmp    %esi,%ecx
48729a:	74 18                	je     0x4872b4
48729c:	8b c6                	mov    %esi,%eax
48729e:	57                   	push   %edi
48729f:	8b f1                	mov    %ecx,%esi
4872a1:	8b fa                	mov    %edx,%edi
4872a3:	83 c1 0c             	add    $0xc,%ecx
4872a6:	83 c2 0c             	add    $0xc,%edx
4872a9:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4872aa:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4872ab:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4872ac:	3b c8                	cmp    %eax,%ecx
4872ae:	75 ef                	jne    0x48729f
4872b0:	8b 45 0c             	mov    0xc(%ebp),%eax
4872b3:	5f                   	pop    %edi
4872b4:	89 53 08             	mov    %edx,0x8(%ebx)
4872b7:	5e                   	pop    %esi
4872b8:	8b 4d 08             	mov    0x8(%ebp),%ecx
4872bb:	5b                   	pop    %ebx
4872bc:	89 01                	mov    %eax,(%ecx)
4872be:	8b c1                	mov    %ecx,%eax
4872c0:	c9                   	leave
4872c1:	c2 0c 00             	ret    $0xc
4872c4:	8b ff                	mov    %edi,%edi
4872c6:	55                   	push   %ebp
4872c7:	8b ec                	mov    %esp,%ebp
4872c9:	51                   	push   %ecx
4872ca:	8b 45 0c             	mov    0xc(%ebp),%eax
4872cd:	53                   	push   %ebx
4872ce:	56                   	push   %esi
4872cf:	8b 75 10             	mov    0x10(%ebp),%esi
4872d2:	8b d9                	mov    %ecx,%ebx
4872d4:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4872d7:	3b c6                	cmp    %esi,%eax
4872d9:	74 3a                	je     0x487315
4872db:	8b 4b 08             	mov    0x8(%ebx),%ecx
4872de:	8b d0                	mov    %eax,%edx
4872e0:	2b ce                	sub    %esi,%ecx
4872e2:	83 c1 07             	add    $0x7,%ecx
4872e5:	c1 e9 03             	shr    $0x3,%ecx
4872e8:	39 73 08             	cmp    %esi,0x8(%ebx)
4872eb:	57                   	push   %edi
4872ec:	1b ff                	sbb    %edi,%edi
4872ee:	f7 d7                	not    %edi
4872f0:	23 f9                	and    %ecx,%edi
4872f2:	74 1d                	je     0x487311
4872f4:	33 db                	xor    %ebx,%ebx
4872f6:	8b 06                	mov    (%esi),%eax
4872f8:	8d 76 08             	lea    0x8(%esi),%esi
4872fb:	89 02                	mov    %eax,(%edx)
4872fd:	8b 46 fc             	mov    -0x4(%esi),%eax
487300:	89 42 04             	mov    %eax,0x4(%edx)
487303:	83 c2 08             	add    $0x8,%edx
487306:	43                   	inc    %ebx
487307:	3b df                	cmp    %edi,%ebx
487309:	75 eb                	jne    0x4872f6
48730b:	8b 45 0c             	mov    0xc(%ebp),%eax
48730e:	8b 5d fc             	mov    -0x4(%ebp),%ebx
487311:	89 53 08             	mov    %edx,0x8(%ebx)
487314:	5f                   	pop    %edi
487315:	8b 4d 08             	mov    0x8(%ebp),%ecx
487318:	5e                   	pop    %esi
487319:	5b                   	pop    %ebx
48731a:	89 01                	mov    %eax,(%ecx)
48731c:	8b c1                	mov    %ecx,%eax
48731e:	c9                   	leave
48731f:	c2 0c 00             	ret    $0xc
487322:	6a 74                	push   $0x74
487324:	b8 a1 68 49 00       	mov    $0x4968a1,%eax
487329:	e8 0e 92 00 00       	call   0x49053c
48732e:	8b 75 10             	mov    0x10(%ebp),%esi
487331:	8d 7d 80             	lea    -0x80(%ebp),%edi
487334:	6a 19                	push   $0x19
487336:	59                   	pop    %ecx
487337:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
487339:	8b 0d f8 64 4a 00    	mov    0x4a64f8,%ecx
48733f:	6a 64                	push   $0x64
487341:	5b                   	pop    %ebx
487342:	85 c9                	test   %ecx,%ecx
487344:	75 04                	jne    0x48734a
487346:	33 ff                	xor    %edi,%edi
487348:	eb 0c                	jmp    0x487356
48734a:	a1 00 65 4a 00       	mov    0x4a6500,%eax
48734f:	2b c1                	sub    %ecx,%eax
487351:	99                   	cltd
487352:	f7 fb                	idiv   %ebx
487354:	8b f8                	mov    %eax,%edi
487356:	8b 75 0c             	mov    0xc(%ebp),%esi
487359:	85 f6                	test   %esi,%esi
48735b:	0f 84 a5 01 00 00    	je     0x487506
487361:	e8 c0 01 00 00       	call   0x487526
487366:	b9 28 5c 8f 02       	mov    $0x28f5c28,%ecx
48736b:	2b c8                	sub    %eax,%ecx
48736d:	3b ce                	cmp    %esi,%ecx
48736f:	0f 82 99 01 00 00    	jb     0x48750e
487375:	e8 ac 01 00 00       	call   0x487526
48737a:	03 c6                	add    %esi,%eax
48737c:	3b f8                	cmp    %eax,%edi
48737e:	0f 83 b8 00 00 00    	jae    0x48743c
487384:	8b c7                	mov    %edi,%eax
487386:	b9 28 5c 8f 02       	mov    $0x28f5c28,%ecx
48738b:	d1 e8                	shr    $1,%eax
48738d:	2b c8                	sub    %eax,%ecx
48738f:	03 c7                	add    %edi,%eax
487391:	3b cf                	cmp    %edi,%ecx
487393:	1b ff                	sbb    %edi,%edi
487395:	f7 d7                	not    %edi
487397:	23 f8                	and    %eax,%edi
487399:	e8 88 01 00 00       	call   0x487526
48739e:	03 c6                	add    %esi,%eax
4873a0:	3b f8                	cmp    %eax,%edi
4873a2:	73 08                	jae    0x4873ac
4873a4:	e8 7d 01 00 00       	call   0x487526
4873a9:	8d 3c 06             	lea    (%esi,%eax,1),%edi
4873ac:	57                   	push   %edi
4873ad:	e8 8f 01 00 00       	call   0x487541
4873b2:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4873b6:	8b d8                	mov    %eax,%ebx
4873b8:	ff 75 e4             	push   -0x1c(%ebp)
4873bb:	8b 55 08             	mov    0x8(%ebp),%edx
4873be:	ff 75 e4             	push   -0x1c(%ebp)
4873c1:	89 5d e8             	mov    %ebx,-0x18(%ebp)
4873c4:	51                   	push   %ecx
4873c5:	8b 0d f8 64 4a 00    	mov    0x4a64f8,%ecx
4873cb:	53                   	push   %ebx
4873cc:	e8 d5 05 00 00       	call   0x4879a6
4873d1:	ff 75 e4             	push   -0x1c(%ebp)
4873d4:	8b c8                	mov    %eax,%ecx
4873d6:	8b d6                	mov    %esi,%edx
4873d8:	ff 75 e4             	push   -0x1c(%ebp)
4873db:	6b c6 64             	imul   $0x64,%esi,%eax
4873de:	51                   	push   %ecx
4873df:	03 c1                	add    %ecx,%eax
4873e1:	89 45 ec             	mov    %eax,-0x14(%ebp)
4873e4:	8d 45 80             	lea    -0x80(%ebp),%eax
4873e7:	50                   	push   %eax
4873e8:	e8 72 05 00 00       	call   0x48795f
4873ed:	ff 75 e4             	push   -0x1c(%ebp)
4873f0:	8b 15 fc 64 4a 00    	mov    0x4a64fc,%edx
4873f6:	ff 75 e4             	push   -0x1c(%ebp)
4873f9:	51                   	push   %ecx
4873fa:	ff 75 ec             	push   -0x14(%ebp)
4873fd:	8b 4d 08             	mov    0x8(%ebp),%ecx
487400:	e8 a1 05 00 00       	call   0x4879a6
487405:	e8 1c 01 00 00       	call   0x487526
48740a:	03 f0                	add    %eax,%esi
48740c:	a1 f8 64 4a 00       	mov    0x4a64f8,%eax
487411:	85 c0                	test   %eax,%eax
487413:	74 08                	je     0x48741d
487415:	50                   	push   %eax
487416:	ff 15 10 74 4a 00    	call   *0x4a7410
48741c:	59                   	pop    %ecx
48741d:	6b c7 64             	imul   $0x64,%edi,%eax
487420:	89 1d f8 64 4a 00    	mov    %ebx,0x4a64f8
487426:	03 c3                	add    %ebx,%eax
487428:	a3 00 65 4a 00       	mov    %eax,0x4a6500
48742d:	6b c6 64             	imul   $0x64,%esi,%eax
487430:	03 c3                	add    %ebx,%eax
487432:	a3 fc 64 4a 00       	mov    %eax,0x4a64fc
487437:	e9 ca 00 00 00       	jmp    0x487506
48743c:	8b 3d fc 64 4a 00    	mov    0x4a64fc,%edi
487442:	8b 4d 08             	mov    0x8(%ebp),%ecx
487445:	6b c6 64             	imul   $0x64,%esi,%eax
487448:	ff 75 e4             	push   -0x1c(%ebp)
48744b:	ff 75 e4             	push   -0x1c(%ebp)
48744e:	89 45 ec             	mov    %eax,-0x14(%ebp)
487451:	8b c7                	mov    %edi,%eax
487453:	2b c1                	sub    %ecx,%eax
487455:	99                   	cltd
487456:	f7 fb                	idiv   %ebx
487458:	8b d7                	mov    %edi,%edx
48745a:	51                   	push   %ecx
48745b:	3b c6                	cmp    %esi,%eax
48745d:	73 5b                	jae    0x4874ba
48745f:	8b 45 ec             	mov    -0x14(%ebp),%eax
487462:	03 c1                	add    %ecx,%eax
487464:	50                   	push   %eax
487465:	e8 3c 05 00 00       	call   0x4879a6
48746a:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
487471:	8b 0d fc 64 4a 00    	mov    0x4a64fc,%ecx
487477:	8b c1                	mov    %ecx,%eax
487479:	2b 45 08             	sub    0x8(%ebp),%eax
48747c:	99                   	cltd
48747d:	f7 fb                	idiv   %ebx
48747f:	ff 75 e4             	push   -0x1c(%ebp)
487482:	2b f0                	sub    %eax,%esi
487484:	8d 45 80             	lea    -0x80(%ebp),%eax
487487:	ff 75 e4             	push   -0x1c(%ebp)
48748a:	8b d6                	mov    %esi,%edx
48748c:	51                   	push   %ecx
48748d:	50                   	push   %eax
48748e:	e8 cc 04 00 00       	call   0x48795f
487493:	8b 15 fc 64 4a 00    	mov    0x4a64fc,%edx
487499:	8b 45 ec             	mov    -0x14(%ebp),%eax
48749c:	03 c2                	add    %edx,%eax
48749e:	a3 fc 64 4a 00       	mov    %eax,0x4a64fc
4874a3:	8b 45 08             	mov    0x8(%ebp),%eax
4874a6:	eb 0c                	jmp    0x4874b4
4874a8:	6a 19                	push   $0x19
4874aa:	8b f8                	mov    %eax,%edi
4874ac:	8d 75 80             	lea    -0x80(%ebp),%esi
4874af:	59                   	pop    %ecx
4874b0:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4874b2:	03 c3                	add    %ebx,%eax
4874b4:	3b c2                	cmp    %edx,%eax
4874b6:	75 f0                	jne    0x4874a8
4874b8:	eb 4c                	jmp    0x487506
4874ba:	8b f7                	mov    %edi,%esi
4874bc:	2b 75 ec             	sub    -0x14(%ebp),%esi
4874bf:	57                   	push   %edi
4874c0:	8b ce                	mov    %esi,%ecx
4874c2:	e8 df 04 00 00       	call   0x4879a6
4874c7:	a3 fc 64 4a 00       	mov    %eax,0x4a64fc
4874cc:	8b 45 08             	mov    0x8(%ebp),%eax
4874cf:	3b f0                	cmp    %eax,%esi
4874d1:	74 1c                	je     0x4874ef
4874d3:	2b f3                	sub    %ebx,%esi
4874d5:	2b fb                	sub    %ebx,%edi
4874d7:	6a 19                	push   $0x19
4874d9:	89 75 e8             	mov    %esi,-0x18(%ebp)
4874dc:	89 7d e4             	mov    %edi,-0x1c(%ebp)
4874df:	59                   	pop    %ecx
4874e0:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4874e2:	8b 75 e8             	mov    -0x18(%ebp),%esi
4874e5:	8b 7d e4             	mov    -0x1c(%ebp),%edi
4874e8:	3b f0                	cmp    %eax,%esi
4874ea:	75 e7                	jne    0x4874d3
4874ec:	8b 45 08             	mov    0x8(%ebp),%eax
4874ef:	8b 55 ec             	mov    -0x14(%ebp),%edx
4874f2:	03 d0                	add    %eax,%edx
4874f4:	eb 0c                	jmp    0x487502
4874f6:	6a 19                	push   $0x19
4874f8:	8b f8                	mov    %eax,%edi
4874fa:	8d 75 80             	lea    -0x80(%ebp),%esi
4874fd:	59                   	pop    %ecx
4874fe:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
487500:	03 c3                	add    %ebx,%eax
487502:	3b c2                	cmp    %edx,%eax
487504:	75 f0                	jne    0x4874f6
487506:	e8 96 8f 00 00       	call   0x4904a1
48750b:	c2 0c 00             	ret    $0xc
48750e:	e8 1f 64 f9 ff       	call   0x41d932
487513:	51                   	push   %ecx
487514:	ff 75 e8             	push   -0x18(%ebp)
487517:	e8 93 64 f9 ff       	call   0x41d9af
48751c:	6a 00                	push   $0x0
48751e:	6a 00                	push   $0x0
487520:	e8 76 8f 00 00       	call   0x49049b
487525:	cc                   	int3
487526:	8b 0d f8 64 4a 00    	mov    0x4a64f8,%ecx
48752c:	85 c9                	test   %ecx,%ecx
48752e:	75 03                	jne    0x487533
487530:	33 c0                	xor    %eax,%eax
487532:	c3                   	ret
487533:	a1 fc 64 4a 00       	mov    0x4a64fc,%eax
487538:	2b c1                	sub    %ecx,%eax
48753a:	6a 64                	push   $0x64
48753c:	99                   	cltd
48753d:	59                   	pop    %ecx
48753e:	f7 f9                	idiv   %ecx
487540:	c3                   	ret
487541:	8b ff                	mov    %edi,%edi
487543:	55                   	push   %ebp
487544:	8b ec                	mov    %esp,%ebp
487546:	8b 4d 08             	mov    0x8(%ebp),%ecx
487549:	83 ec 0c             	sub    $0xc,%esp
48754c:	85 c9                	test   %ecx,%ecx
48754e:	75 0f                	jne    0x48755f
487550:	6b c1 64             	imul   $0x64,%ecx,%eax
487553:	50                   	push   %eax
487554:	ff 15 14 74 4a 00    	call   *0x4a7414
48755a:	59                   	pop    %ecx
48755b:	c9                   	leave
48755c:	c2 04 00             	ret    $0x4
48755f:	83 c8 ff             	or     $0xffffffff,%eax
487562:	33 d2                	xor    %edx,%edx
487564:	f7 f1                	div    %ecx
487566:	83 f8 64             	cmp    $0x64,%eax
487569:	73 e5                	jae    0x487550
48756b:	6a 00                	push   $0x0
48756d:	8d 4d f4             	lea    -0xc(%ebp),%ecx
487570:	e8 57 4f f9 ff       	call   0x41c4cc
487575:	68 4c eb 49 00       	push   $0x49eb4c
48757a:	8d 45 f4             	lea    -0xc(%ebp),%eax
48757d:	50                   	push   %eax
48757e:	e8 18 8f 00 00       	call   0x49049b
487583:	cc                   	int3
487584:	6a 18                	push   $0x18
487586:	b8 bf 68 49 00       	mov    $0x4968bf,%eax
48758b:	e8 ac 8f 00 00       	call   0x49053c
487590:	8b d9                	mov    %ecx,%ebx
487592:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
487596:	8d 7d dc             	lea    -0x24(%ebp),%edi
487599:	8b 75 10             	mov    0x10(%ebp),%esi
48759c:	6a 0c                	push   $0xc
48759e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48759f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4875a0:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4875a1:	5f                   	pop    %edi
4875a2:	75 04                	jne    0x4875a8
4875a4:	33 c0                	xor    %eax,%eax
4875a6:	eb 09                	jmp    0x4875b1
4875a8:	8b 43 0c             	mov    0xc(%ebx),%eax
4875ab:	2b 43 04             	sub    0x4(%ebx),%eax
4875ae:	99                   	cltd
4875af:	f7 ff                	idiv   %edi
4875b1:	8b 75 0c             	mov    0xc(%ebp),%esi
4875b4:	89 45 ec             	mov    %eax,-0x14(%ebp)
4875b7:	85 f6                	test   %esi,%esi
4875b9:	0f 84 77 01 00 00    	je     0x487736
4875bf:	e8 ae 9d f9 ff       	call   0x421372
4875c4:	b9 55 55 55 15       	mov    $0x15555555,%ecx
4875c9:	2b c8                	sub    %eax,%ecx
4875cb:	3b ce                	cmp    %esi,%ecx
4875cd:	0f 82 6b 01 00 00    	jb     0x48773e
4875d3:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4875d6:	8d 14 30             	lea    (%eax,%esi,1),%edx
4875d9:	3b ca                	cmp    %edx,%ecx
4875db:	0f 83 9b 00 00 00    	jae    0x48767c
4875e1:	8b c1                	mov    %ecx,%eax
4875e3:	bf 55 55 55 15       	mov    $0x15555555,%edi
4875e8:	d1 e8                	shr    $1,%eax
4875ea:	2b f8                	sub    %eax,%edi
4875ec:	03 c1                	add    %ecx,%eax
4875ee:	3b f9                	cmp    %ecx,%edi
4875f0:	1b ff                	sbb    %edi,%edi
4875f2:	f7 d7                	not    %edi
4875f4:	23 f8                	and    %eax,%edi
4875f6:	3b fa                	cmp    %edx,%edi
4875f8:	73 02                	jae    0x4875fc
4875fa:	8b fa                	mov    %edx,%edi
4875fc:	57                   	push   %edi
4875fd:	e8 aa b1 f9 ff       	call   0x4227ac
487602:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
487606:	ff 75 e8             	push   -0x18(%ebp)
487609:	8b 55 08             	mov    0x8(%ebp),%edx
48760c:	ff 75 e8             	push   -0x18(%ebp)
48760f:	89 45 ec             	mov    %eax,-0x14(%ebp)
487612:	51                   	push   %ecx
487613:	8b 4b 04             	mov    0x4(%ebx),%ecx
487616:	50                   	push   %eax
487617:	e8 d0 d0 f9 ff       	call   0x4246ec
48761c:	ff 75 e8             	push   -0x18(%ebp)
48761f:	8b c8                	mov    %eax,%ecx
487621:	8d 55 dc             	lea    -0x24(%ebp),%edx