4873c3:	ff 30                	push   (%eax)
4873c5:	8b 45 08             	mov    0x8(%ebp),%eax
4873c8:	ff 30                	push   (%eax)
4873ca:	e8 98 0a fe ff       	call   0x467e67
4873cf:	83 c4 0c             	add    $0xc,%esp
4873d2:	5d                   	pop    %ebp
4873d3:	c3                   	ret
4873d4:	8b ff                	mov    %edi,%edi
4873d6:	55                   	push   %ebp
4873d7:	8b ec                	mov    %esp,%ebp
4873d9:	8b 45 10             	mov    0x10(%ebp),%eax
4873dc:	ff 30                	push   (%eax)
4873de:	8b 45 0c             	mov    0xc(%ebp),%eax
4873e1:	ff 30                	push   (%eax)
4873e3:	8b 45 08             	mov    0x8(%ebp),%eax
4873e6:	ff 30                	push   (%eax)
4873e8:	e8 49 8e fe ff       	call   0x470236
4873ed:	83 c4 0c             	add    $0xc,%esp
4873f0:	5d                   	pop    %ebp
4873f1:	c3                   	ret
4873f2:	8b ff                	mov    %edi,%edi
4873f4:	55                   	push   %ebp
4873f5:	8b ec                	mov    %esp,%ebp
4873f7:	8b 45 10             	mov    0x10(%ebp),%eax
4873fa:	ff 30                	push   (%eax)
4873fc:	8b 45 0c             	mov    0xc(%ebp),%eax
4873ff:	ff 30                	push   (%eax)
487401:	8b 45 08             	mov    0x8(%ebp),%eax
487404:	ff 30                	push   (%eax)
487406:	e8 5c 0a fe ff       	call   0x467e67
48740b:	83 c4 0c             	add    $0xc,%esp
48740e:	5d                   	pop    %ebp
48740f:	c3                   	ret
487410:	8b ff                	mov    %edi,%edi
487412:	55                   	push   %ebp
487413:	8b ec                	mov    %esp,%ebp
487415:	8b 45 10             	mov    0x10(%ebp),%eax
487418:	ff 30                	push   (%eax)
48741a:	8b 45 0c             	mov    0xc(%ebp),%eax
48741d:	ff 30                	push   (%eax)
48741f:	8b 45 08             	mov    0x8(%ebp),%eax
487422:	ff 30                	push   (%eax)
487424:	e8 37 08 00 00       	call   0x487c60
487429:	83 c4 0c             	add    $0xc,%esp
48742c:	5d                   	pop    %ebp
48742d:	c3                   	ret
48742e:	8b ff                	mov    %edi,%edi
487430:	55                   	push   %ebp
487431:	8b ec                	mov    %esp,%ebp
487433:	8b 45 10             	mov    0x10(%ebp),%eax
487436:	ff 30                	push   (%eax)
487438:	8b 45 0c             	mov    0xc(%ebp),%eax
48743b:	ff 30                	push   (%eax)
48743d:	8b 45 08             	mov    0x8(%ebp),%eax
487440:	ff 30                	push   (%eax)
487442:	e8 1c 06 00 00       	call   0x487a63
487447:	83 c4 0c             	add    $0xc,%esp
48744a:	5d                   	pop    %ebp
48744b:	c3                   	ret
48744c:	8b ff                	mov    %edi,%edi
48744e:	55                   	push   %ebp
48744f:	8b ec                	mov    %esp,%ebp
487451:	8b 45 0c             	mov    0xc(%ebp),%eax
487454:	ff 30                	push   (%eax)
487456:	8b 45 08             	mov    0x8(%ebp),%eax
487459:	ff 30                	push   (%eax)
48745b:	e8 ef 1f fe ff       	call   0x46944f
487460:	59                   	pop    %ecx
487461:	59                   	pop    %ecx
487462:	5d                   	pop    %ebp
487463:	c3                   	ret
487464:	8b ff                	mov    %edi,%edi
487466:	55                   	push   %ebp
487467:	8b ec                	mov    %esp,%ebp
487469:	8b 45 0c             	mov    0xc(%ebp),%eax
48746c:	ff 30                	push   (%eax)
48746e:	8b 45 08             	mov    0x8(%ebp),%eax
487471:	ff 30                	push   (%eax)
487473:	e8 35 22 fe ff       	call   0x4696ad
487478:	59                   	pop    %ecx
487479:	59                   	pop    %ecx
48747a:	5d                   	pop    %ebp
48747b:	c3                   	ret
48747c:	8b ff                	mov    %edi,%edi
48747e:	55                   	push   %ebp
48747f:	8b ec                	mov    %esp,%ebp
487481:	6a 00                	push   $0x0
487483:	6a 00                	push   $0x0
487485:	6a 01                	push   $0x1
487487:	ff 75 10             	push   0x10(%ebp)
48748a:	ff 75 0c             	push   0xc(%ebp)
48748d:	ff 75 08             	push   0x8(%ebp)
487490:	e8 f8 f8 ff ff       	call   0x486d8d
487495:	83 c4 18             	add    $0x18,%esp
487498:	5d                   	pop    %ebp
487499:	c3                   	ret
48749a:	8b ff                	mov    %edi,%edi
48749c:	55                   	push   %ebp
48749d:	8b ec                	mov    %esp,%ebp
48749f:	6a 00                	push   $0x0
4874a1:	6a 00                	push   $0x0
4874a3:	6a 01                	push   $0x1
4874a5:	ff 75 10             	push   0x10(%ebp)
4874a8:	ff 75 0c             	push   0xc(%ebp)
4874ab:	ff 75 08             	push   0x8(%ebp)
4874ae:	e8 35 f9 ff ff       	call   0x486de8
4874b3:	83 c4 18             	add    $0x18,%esp
4874b6:	5d                   	pop    %ebp
4874b7:	c3                   	ret
4874b8:	8b ff                	mov    %edi,%edi
4874ba:	55                   	push   %ebp
4874bb:	8b ec                	mov    %esp,%ebp
4874bd:	5d                   	pop    %ebp
4874be:	e9 53 fb ff ff       	jmp    0x487016
4874c3:	8b ff                	mov    %edi,%edi
4874c5:	55                   	push   %ebp
4874c6:	8b ec                	mov    %esp,%ebp
4874c8:	5d                   	pop    %ebp
4874c9:	e9 17 fd ff ff       	jmp    0x4871e5
4874ce:	8b ff                	mov    %edi,%edi
4874d0:	55                   	push   %ebp
4874d1:	8b ec                	mov    %esp,%ebp
4874d3:	5d                   	pop    %ebp
4874d4:	e9 bd fa ff ff       	jmp    0x486f96
4874d9:	8b ff                	mov    %edi,%edi
4874db:	55                   	push   %ebp
4874dc:	8b ec                	mov    %esp,%ebp
4874de:	5d                   	pop    %ebp
4874df:	e9 ac fc ff ff       	jmp    0x487190
4874e4:	cc                   	int3
4874e5:	cc                   	int3
4874e6:	cc                   	int3
4874e7:	cc                   	int3
4874e8:	cc                   	int3
4874e9:	cc                   	int3
4874ea:	cc                   	int3
4874eb:	cc                   	int3
4874ec:	cc                   	int3
4874ed:	cc                   	int3
4874ee:	cc                   	int3
4874ef:	cc                   	int3
4874f0:	8b ff                	mov    %edi,%edi
4874f2:	55                   	push   %ebp
4874f3:	8b ec                	mov    %esp,%ebp
4874f5:	51                   	push   %ecx
4874f6:	a1 94 80 4b 00       	mov    0x4b8094,%eax
4874fb:	33 c5                	xor    %ebp,%eax
4874fd:	89 45 fc             	mov    %eax,-0x4(%ebp)
487500:	8b 4d 08             	mov    0x8(%ebp),%ecx
487503:	53                   	push   %ebx
487504:	8b 5d 0c             	mov    0xc(%ebp),%ebx
487507:	3b d9                	cmp    %ecx,%ebx
487509:	76 6c                	jbe    0x487577
48750b:	8b 45 10             	mov    0x10(%ebp),%eax
48750e:	56                   	push   %esi
48750f:	57                   	push   %edi
487510:	8d 14 01             	lea    (%ecx,%eax,1),%edx
487513:	8b f2                	mov    %edx,%esi
487515:	8b f9                	mov    %ecx,%edi
487517:	3b f3                	cmp    %ebx,%esi
487519:	77 28                	ja     0x487543
48751b:	eb 03                	jmp    0x487520
48751d:	8d 49 00             	lea    0x0(%ecx),%ecx
487520:	8b 4d 14             	mov    0x14(%ebp),%ecx
487523:	57                   	push   %edi
487524:	56                   	push   %esi
487525:	ff 15 54 43 49 00    	call   *0x494354
48752b:	ff 55 14             	call   *0x14(%ebp)
48752e:	83 c4 08             	add    $0x8,%esp
487531:	85 c0                	test   %eax,%eax
487533:	7e 02                	jle    0x487537
487535:	8b fe                	mov    %esi,%edi
487537:	8b 45 10             	mov    0x10(%ebp),%eax
48753a:	03 f0                	add    %eax,%esi
48753c:	3b f3                	cmp    %ebx,%esi
48753e:	76 e0                	jbe    0x487520
487540:	8b 4d 08             	mov    0x8(%ebp),%ecx
487543:	8b f0                	mov    %eax,%esi
487545:	8b d3                	mov    %ebx,%edx
487547:	3b fb                	cmp    %ebx,%edi
487549:	74 21                	je     0x48756c
48754b:	85 c0                	test   %eax,%eax
48754d:	74 1d                	je     0x48756c
48754f:	2b fb                	sub    %ebx,%edi
487551:	8a 02                	mov    (%edx),%al
487553:	8d 52 01             	lea    0x1(%edx),%edx
487556:	8a 4c 17 ff          	mov    -0x1(%edi,%edx,1),%cl
48755a:	88 44 17 ff          	mov    %al,-0x1(%edi,%edx,1)
48755e:	88 4a ff             	mov    %cl,-0x1(%edx)
487561:	83 ee 01             	sub    $0x1,%esi
487564:	75 eb                	jne    0x487551
487566:	8b 45 10             	mov    0x10(%ebp),%eax
487569:	8b 4d 08             	mov    0x8(%ebp),%ecx
48756c:	2b d8                	sub    %eax,%ebx
48756e:	8d 14 01             	lea    (%ecx,%eax,1),%edx
487571:	3b d9                	cmp    %ecx,%ebx
487573:	77 9e                	ja     0x487513
487575:	5f                   	pop    %edi
487576:	5e                   	pop    %esi
487577:	8b 4d fc             	mov    -0x4(%ebp),%ecx
48757a:	33 cd                	xor    %ebp,%ecx
48757c:	5b                   	pop    %ebx
48757d:	e8 80 84 fb ff       	call   0x43fa02
487582:	8b e5                	mov    %ebp,%esp
487584:	5d                   	pop    %ebp
487585:	c3                   	ret
487586:	cc                   	int3
487587:	cc                   	int3
487588:	cc                   	int3
487589:	cc                   	int3
48758a:	cc                   	int3
48758b:	cc                   	int3
48758c:	cc                   	int3
48758d:	cc                   	int3
48758e:	cc                   	int3
48758f:	cc                   	int3
487590:	8b ff                	mov    %edi,%edi
487592:	55                   	push   %ebp
487593:	8b ec                	mov    %esp,%ebp
487595:	8b 45 0c             	mov    0xc(%ebp),%eax
487598:	57                   	push   %edi
487599:	8b 7d 08             	mov    0x8(%ebp),%edi
48759c:	3b f8                	cmp    %eax,%edi
48759e:	74 26                	je     0x4875c6
4875a0:	56                   	push   %esi
4875a1:	8b 75 10             	mov    0x10(%ebp),%esi
4875a4:	85 f6                	test   %esi,%esi
4875a6:	74 1d                	je     0x4875c5
4875a8:	2b f8                	sub    %eax,%edi
4875aa:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
4875b0:	8a 08                	mov    (%eax),%cl
4875b2:	8d 40 01             	lea    0x1(%eax),%eax
4875b5:	8a 54 07 ff          	mov    -0x1(%edi,%eax,1),%dl
4875b9:	88 4c 07 ff          	mov    %cl,-0x1(%edi,%eax,1)
4875bd:	88 50 ff             	mov    %dl,-0x1(%eax)
4875c0:	83 ee 01             	sub    $0x1,%esi
4875c3:	75 eb                	jne    0x4875b0
4875c5:	5e                   	pop    %esi
4875c6:	5f                   	pop    %edi
4875c7:	5d                   	pop    %ebp
4875c8:	c3                   	ret
4875c9:	cc                   	int3
4875ca:	cc                   	int3
4875cb:	cc                   	int3
4875cc:	cc                   	int3
4875cd:	cc                   	int3
4875ce:	cc                   	int3
4875cf:	cc                   	int3
4875d0:	8b ff                	mov    %edi,%edi
4875d2:	55                   	push   %ebp
4875d3:	8b ec                	mov    %esp,%ebp
4875d5:	81 ec 1c 01 00 00    	sub    $0x11c,%esp
4875db:	a1 94 80 4b 00       	mov    0x4b8094,%eax
4875e0:	33 c5                	xor    %ebp,%eax
4875e2:	89 45 fc             	mov    %eax,-0x4(%ebp)
4875e5:	8b 4d 08             	mov    0x8(%ebp),%ecx
4875e8:	8b 55 0c             	mov    0xc(%ebp),%edx
4875eb:	89 8d fc fe ff ff    	mov    %ecx,-0x104(%ebp)
4875f1:	56                   	push   %esi
4875f2:	8b 75 14             	mov    0x14(%ebp),%esi
4875f5:	89 b5 00 ff ff ff    	mov    %esi,-0x100(%ebp)
4875fb:	57                   	push   %edi
4875fc:	8b 7d 10             	mov    0x10(%ebp),%edi
4875ff:	89 bd 08 ff ff ff    	mov    %edi,-0xf8(%ebp)
487605:	85 c9                	test   %ecx,%ecx
487607:	75 24                	jne    0x48762d
487609:	85 d2                	test   %edx,%edx
48760b:	74 20                	je     0x48762d
48760d:	e8 1d 58 fc ff       	call   0x44ce2f
487612:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
487618:	e8 b9 56 fc ff       	call   0x44ccd6
48761d:	5f                   	pop    %edi
48761e:	5e                   	pop    %esi
48761f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
487622:	33 cd                	xor    %ebp,%ecx
487624:	e8 d9 83 fb ff       	call   0x43fa02
487629:	8b e5                	mov    %ebp,%esp
48762b:	5d                   	pop    %ebp
48762c:	c3                   	ret
48762d:	85 ff                	test   %edi,%edi
48762f:	74 dc                	je     0x48760d
487631:	85 f6                	test   %esi,%esi
487633:	74 d8                	je     0x48760d
487635:	c7 85 f8 fe ff ff 00 	movl   $0x0,-0x108(%ebp)
48763c:	00 00 00
48763f:	83 fa 02             	cmp    $0x2,%edx
487642:	0f 82 12 03 00 00    	jb     0x48795a
487648:	4a                   	dec    %edx
487649:	0f af d7             	imul   %edi,%edx
48764c:	53                   	push   %ebx
48764d:	03 d1                	add    %ecx,%edx
48764f:	89 95 04 ff ff ff    	mov    %edx,-0xfc(%ebp)
487655:	8b c2                	mov    %edx,%eax
487657:	33 d2                	xor    %edx,%edx
487659:	2b c1                	sub    %ecx,%eax
48765b:	f7 f7                	div    %edi
48765d:	8d 58 01             	lea    0x1(%eax),%ebx
487660:	83 fb 08             	cmp    $0x8,%ebx
487663:	77 16                	ja     0x48767b
487665:	56                   	push   %esi
487666:	57                   	push   %edi
487667:	ff b5 04 ff ff ff    	push   -0xfc(%ebp)
48766d:	51                   	push   %ecx
48766e:	e8 7d fe ff ff       	call   0x4874f0
487673:	83 c4 10             	add    $0x10,%esp
487676:	e9 b7 02 00 00       	jmp    0x487932
48767b:	d1 eb                	shr    $1,%ebx
48767d:	0f af df             	imul   %edi,%ebx
487680:	03 d9                	add    %ecx,%ebx
487682:	53                   	push   %ebx
487683:	51                   	push   %ecx
487684:	8b ce                	mov    %esi,%ecx
487686:	89 9d ec fe ff ff    	mov    %ebx,-0x114(%ebp)
48768c:	ff 15 54 43 49 00    	call   *0x494354
487692:	ff d6                	call   *%esi
487694:	83 c4 08             	add    $0x8,%esp
487697:	85 c0                	test   %eax,%eax
487699:	7e 10                	jle    0x4876ab
48769b:	57                   	push   %edi
48769c:	53                   	push   %ebx
48769d:	ff b5 fc fe ff ff    	push   -0x104(%ebp)
4876a3:	e8 e8 fe ff ff       	call   0x487590
4876a8:	83 c4 0c             	add    $0xc,%esp
4876ab:	ff b5 04 ff ff ff    	push   -0xfc(%ebp)
4876b1:	8b ce                	mov    %esi,%ecx
4876b3:	ff b5 fc fe ff ff    	push   -0x104(%ebp)
4876b9:	ff 15 54 43 49 00    	call   *0x494354
4876bf:	ff d6                	call   *%esi
4876c1:	83 c4 08             	add    $0x8,%esp
4876c4:	85 c0                	test   %eax,%eax
4876c6:	7e 15                	jle    0x4876dd
4876c8:	57                   	push   %edi
4876c9:	ff b5 04 ff ff ff    	push   -0xfc(%ebp)
4876cf:	ff b5 fc fe ff ff    	push   -0x104(%ebp)
4876d5:	e8 b6 fe ff ff       	call   0x487590
4876da:	83 c4 0c             	add    $0xc,%esp
4876dd:	ff b5 04 ff ff ff    	push   -0xfc(%ebp)
4876e3:	8b ce                	mov    %esi,%ecx
4876e5:	53                   	push   %ebx
4876e6:	ff 15 54 43 49 00    	call   *0x494354
4876ec:	ff d6                	call   *%esi
4876ee:	83 c4 08             	add    $0x8,%esp
4876f1:	85 c0                	test   %eax,%eax
4876f3:	7e 10                	jle    0x487705
4876f5:	57                   	push   %edi
4876f6:	ff b5 04 ff ff ff    	push   -0xfc(%ebp)
4876fc:	53                   	push   %ebx
4876fd:	e8 8e fe ff ff       	call   0x487590
487702:	83 c4 0c             	add    $0xc,%esp
487705:	8b 85 04 ff ff ff    	mov    -0xfc(%ebp),%eax