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
48770b:	8b f8                	mov    %eax,%edi
48770d:	8b b5 fc fe ff ff    	mov    -0x104(%ebp),%esi
487713:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
487719:	89 85 f0 fe ff ff    	mov    %eax,-0x110(%ebp)
48771f:	90                   	nop
487720:	3b de                	cmp    %esi,%ebx
487722:	76 37                	jbe    0x48775b
487724:	03 f2                	add    %edx,%esi
487726:	89 b5 f4 fe ff ff    	mov    %esi,-0x10c(%ebp)
48772c:	3b f3                	cmp    %ebx,%esi
48772e:	73 25                	jae    0x487755
487730:	8b 8d 00 ff ff ff    	mov    -0x100(%ebp),%ecx
487736:	53                   	push   %ebx
487737:	56                   	push   %esi
487738:	ff 15 54 43 49 00    	call   *0x494354
48773e:	ff 95 00 ff ff ff    	call   *-0x100(%ebp)
487744:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
48774a:	83 c4 08             	add    $0x8,%esp
48774d:	85 c0                	test   %eax,%eax
48774f:	7e d3                	jle    0x487724
487751:	3b de                	cmp    %esi,%ebx
487753:	77 3d                	ja     0x487792
487755:	8b 85 04 ff ff ff    	mov    -0xfc(%ebp),%eax
48775b:	8b bd 00 ff ff ff    	mov    -0x100(%ebp),%edi
487761:	03 f2                	add    %edx,%esi
487763:	3b f0                	cmp    %eax,%esi
487765:	77 1f                	ja     0x487786
487767:	53                   	push   %ebx
487768:	56                   	push   %esi
487769:	8b cf                	mov    %edi,%ecx
48776b:	ff 15 54 43 49 00    	call   *0x494354
487771:	ff d7                	call   *%edi
487773:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
487779:	83 c4 08             	add    $0x8,%esp
48777c:	85 c0                	test   %eax,%eax
48777e:	8b 85 04 ff ff ff    	mov    -0xfc(%ebp),%eax
487784:	7e db                	jle    0x487761
487786:	8b bd f0 fe ff ff    	mov    -0x110(%ebp),%edi
48778c:	89 b5 f4 fe ff ff    	mov    %esi,-0x10c(%ebp)
487792:	8b b5 00 ff ff ff    	mov    -0x100(%ebp),%esi
487798:	eb 06                	jmp    0x4877a0
48779a:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
4877a0:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
4877a6:	2b fa                	sub    %edx,%edi
4877a8:	3b fb                	cmp    %ebx,%edi
4877aa:	76 19                	jbe    0x4877c5
4877ac:	53                   	push   %ebx
4877ad:	57                   	push   %edi
4877ae:	8b ce                	mov    %esi,%ecx
4877b0:	ff 15 54 43 49 00    	call   *0x494354
4877b6:	ff d6                	call   *%esi
4877b8:	83 c4 08             	add    $0x8,%esp
4877bb:	85 c0                	test   %eax,%eax
4877bd:	7f e1                	jg     0x4877a0
4877bf:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
4877c5:	8b b5 f4 fe ff ff    	mov    -0x10c(%ebp),%esi
4877cb:	89 bd f0 fe ff ff    	mov    %edi,-0x110(%ebp)
4877d1:	3b fe                	cmp    %esi,%edi
4877d3:	72 5e                	jb     0x487833
4877d5:	89 95 e4 fe ff ff    	mov    %edx,-0x11c(%ebp)
4877db:	89 bd e8 fe ff ff    	mov    %edi,-0x118(%ebp)
4877e1:	3b f7                	cmp    %edi,%esi
4877e3:	74 33                	je     0x487818
4877e5:	8b de                	mov    %esi,%ebx
4877e7:	8b d7                	mov    %edi,%edx
4877e9:	8b b5 e4 fe ff ff    	mov    -0x11c(%ebp),%esi
4877ef:	2b df                	sub    %edi,%ebx
4877f1:	8a 02                	mov    (%edx),%al
4877f3:	8d 52 01             	lea    0x1(%edx),%edx
4877f6:	8a 4c 13 ff          	mov    -0x1(%ebx,%edx,1),%cl
4877fa:	88 44 13 ff          	mov    %al,-0x1(%ebx,%edx,1)
4877fe:	88 4a ff             	mov    %cl,-0x1(%edx)
487801:	83 ee 01             	sub    $0x1,%esi
487804:	75 eb                	jne    0x4877f1
487806:	8b b5 f4 fe ff ff    	mov    -0x10c(%ebp),%esi
48780c:	8b 9d ec fe ff ff    	mov    -0x114(%ebp),%ebx
487812:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
487818:	8b 85 04 ff ff ff    	mov    -0xfc(%ebp),%eax
48781e:	3b df                	cmp    %edi,%ebx
487820:	0f 85 fa fe ff ff    	jne    0x487720
487826:	8b de                	mov    %esi,%ebx
487828:	89 9d ec fe ff ff    	mov    %ebx,-0x114(%ebp)
48782e:	e9 ed fe ff ff       	jmp    0x487720
487833:	03 fa                	add    %edx,%edi
487835:	3b df                	cmp    %edi,%ebx
487837:	73 32                	jae    0x48786b
487839:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
487840:	2b fa                	sub    %edx,%edi
487842:	3b fb                	cmp    %ebx,%edi
487844:	76 25                	jbe    0x48786b
487846:	8b 8d 00 ff ff ff    	mov    -0x100(%ebp),%ecx
48784c:	53                   	push   %ebx
48784d:	57                   	push   %edi
48784e:	ff 15 54 43 49 00    	call   *0x494354
487854:	ff 95 00 ff ff ff    	call   *-0x100(%ebp)
48785a:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
487860:	83 c4 08             	add    $0x8,%esp
487863:	85 c0                	test   %eax,%eax
487865:	74 d9                	je     0x487840
487867:	3b df                	cmp    %edi,%ebx
487869:	72 2f                	jb     0x48789a
48786b:	8b b5 00 ff ff ff    	mov    -0x100(%ebp),%esi
487871:	2b fa                	sub    %edx,%edi
487873:	3b bd fc fe ff ff    	cmp    -0x104(%ebp),%edi
487879:	76 19                	jbe    0x487894
48787b:	53                   	push   %ebx
48787c:	57                   	push   %edi
48787d:	8b ce                	mov    %esi,%ecx
48787f:	ff 15 54 43 49 00    	call   *0x494354
487885:	ff d6                	call   *%esi
487887:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
48788d:	83 c4 08             	add    $0x8,%esp
487890:	85 c0                	test   %eax,%eax
487892:	74 dd                	je     0x487871
487894:	8b b5 f4 fe ff ff    	mov    -0x10c(%ebp),%esi
48789a:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
4878a0:	8b c7                	mov    %edi,%eax
4878a2:	8b 9d fc fe ff ff    	mov    -0x104(%ebp),%ebx
4878a8:	8b ca                	mov    %edx,%ecx
4878aa:	2b ce                	sub    %esi,%ecx
4878ac:	2b c3                	sub    %ebx,%eax
4878ae:	3b c1                	cmp    %ecx,%eax
4878b0:	7c 39                	jl     0x4878eb
4878b2:	3b df                	cmp    %edi,%ebx
4878b4:	73 18                	jae    0x4878ce
4878b6:	8b 85 f8 fe ff ff    	mov    -0x108(%ebp),%eax
4878bc:	89 5c 85 84          	mov    %ebx,-0x7c(%ebp,%eax,4)
4878c0:	89 bc 85 0c ff ff ff 	mov    %edi,-0xf4(%ebp,%eax,4)
4878c7:	40                   	inc    %eax
4878c8:	89 85 f8 fe ff ff    	mov    %eax,-0x108(%ebp)
4878ce:	8b bd 08 ff ff ff    	mov    -0xf8(%ebp),%edi
4878d4:	3b f2                	cmp    %edx,%esi
4878d6:	73 4c                	jae    0x487924
4878d8:	8b ce                	mov    %esi,%ecx
4878da:	8b b5 00 ff ff ff    	mov    -0x100(%ebp),%esi
4878e0:	89 8d fc fe ff ff    	mov    %ecx,-0x104(%ebp)
4878e6:	e9 6a fd ff ff       	jmp    0x487655
4878eb:	3b f2                	cmp    %edx,%esi
4878ed:	73 18                	jae    0x487907
4878ef:	8b 85 f8 fe ff ff    	mov    -0x108(%ebp),%eax
4878f5:	89 74 85 84          	mov    %esi,-0x7c(%ebp,%eax,4)
4878f9:	89 94 85 0c ff ff ff 	mov    %edx,-0xf4(%ebp,%eax,4)
487900:	40                   	inc    %eax
487901:	89 85 f8 fe ff ff    	mov    %eax,-0x108(%ebp)
487907:	8b 8d fc fe ff ff    	mov    -0x104(%ebp),%ecx
48790d:	8b b5 00 ff ff ff    	mov    -0x100(%ebp),%esi
487913:	3b cf                	cmp    %edi,%ecx
487915:	73 15                	jae    0x48792c
487917:	8b d7                	mov    %edi,%edx
487919:	8b bd 08 ff ff ff    	mov    -0xf8(%ebp),%edi
48791f:	e9 2b fd ff ff       	jmp    0x48764f
487924:	8b b5 00 ff ff ff    	mov    -0x100(%ebp),%esi
48792a:	eb 06                	jmp    0x487932
48792c:	8b bd 08 ff ff ff    	mov    -0xf8(%ebp),%edi
487932:	8b 85 f8 fe ff ff    	mov    -0x108(%ebp),%eax
487938:	83 e8 01             	sub    $0x1,%eax
48793b:	89 85 f8 fe ff ff    	mov    %eax,-0x108(%ebp)
487941:	78 16                	js     0x487959
487943:	8b 4c 85 84          	mov    -0x7c(%ebp,%eax,4),%ecx
487947:	8b 94 85 0c ff ff ff 	mov    -0xf4(%ebp,%eax,4),%edx
48794e:	89 8d fc fe ff ff    	mov    %ecx,-0x104(%ebp)
487954:	e9 f6 fc ff ff       	jmp    0x48764f
487959:	5b                   	pop    %ebx
48795a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
48795d:	5f                   	pop    %edi
48795e:	33 cd                	xor    %ebp,%ecx
487960:	5e                   	pop    %esi
487961:	e8 9c 80 fb ff       	call   0x43fa02
487966:	8b e5                	mov    %ebp,%esp
487968:	5d                   	pop    %ebp
487969:	c3                   	ret
48796a:	cc                   	int3
48796b:	cc                   	int3
48796c:	cc                   	int3
48796d:	cc                   	int3