50b4cf:	7f f8                	jg     0x50b4c9
50b4d1:	41                   	inc    %ecx
50b4d2:	83 c7 04             	add    $0x4,%edi
50b4d5:	3b 4d fc             	cmp    -0x4(%ebp),%ecx
50b4d8:	7c e0                	jl     0x50b4ba
50b4da:	5f                   	pop    %edi
50b4db:	5e                   	pop    %esi
50b4dc:	8b e5                	mov    %ebp,%esp
50b4de:	5d                   	pop    %ebp
50b4df:	c2 04 00             	ret    $0x4
50b4e2:	90                   	nop
50b4e3:	90                   	nop
50b4e4:	55                   	push   %ebp
50b4e5:	8b ec                	mov    %esp,%ebp
50b4e7:	83 c4 e8             	add    $0xffffffe8,%esp
50b4ea:	53                   	push   %ebx
50b4eb:	56                   	push   %esi
50b4ec:	8b f0                	mov    %eax,%esi
50b4ee:	57                   	push   %edi
50b4ef:	89 4d f8             	mov    %ecx,-0x8(%ebp)
50b4f2:	89 55 fc             	mov    %edx,-0x4(%ebp)
50b4f5:	8b 86 5c 01 00 00    	mov    0x15c(%esi),%eax
50b4fb:	33 d2                	xor    %edx,%edx
50b4fd:	89 55 f4             	mov    %edx,-0xc(%ebp)
50b500:	83 c0 0c             	add    $0xc,%eax
50b503:	8b 5e 3c             	mov    0x3c(%esi),%ebx
50b506:	89 45 e8             	mov    %eax,-0x18(%ebp)
50b509:	8b 55 0c             	mov    0xc(%ebp),%edx
50b50c:	8b ca                	mov    %edx,%ecx
50b50e:	89 4d ec             	mov    %ecx,-0x14(%ebp)
50b511:	8b 45 fc             	mov    -0x4(%ebp),%eax
50b514:	8b d0                	mov    %eax,%edx
50b516:	89 55 f0             	mov    %edx,-0x10(%ebp)
50b519:	eb 3c                	jmp    0x50b557
50b51b:	8b 4d f0             	mov    -0x10(%ebp),%ecx
50b51e:	8b 55 f8             	mov    -0x8(%ebp),%edx
50b521:	c1 e2 02             	shl    $0x2,%edx
50b524:	8b 01                	mov    (%ecx),%eax
50b526:	8b 4d ec             	mov    -0x14(%ebp),%ecx
50b529:	03 c2                	add    %edx,%eax
50b52b:	8b 11                	mov    (%ecx),%edx
50b52d:	8b 4d 08             	mov    0x8(%ebp),%ecx
50b530:	0f af 4b 0c          	imul   0xc(%ebx),%ecx
50b534:	c1 e1 02             	shl    $0x2,%ecx
50b537:	03 d1                	add    %ecx,%edx
50b539:	8b c8                	mov    %eax,%ecx
50b53b:	52                   	push   %edx
50b53c:	8b d3                	mov    %ebx,%edx
50b53e:	8b 7d e8             	mov    -0x18(%ebp),%edi
50b541:	8b c6                	mov    %esi,%eax
50b543:	ff 17                	call   *(%edi)
50b545:	83 45 f0 04          	addl   $0x4,-0x10(%ebp)
50b549:	83 45 ec 04          	addl   $0x4,-0x14(%ebp)
50b54d:	83 45 e8 04          	addl   $0x4,-0x18(%ebp)
50b551:	ff 45 f4             	incl   -0xc(%ebp)
50b554:	83 c3 54             	add    $0x54,%ebx
50b557:	8b 45 f4             	mov    -0xc(%ebp),%eax
50b55a:	3b 46 34             	cmp    0x34(%esi),%eax
50b55d:	7c bc                	jl     0x50b51b
50b55f:	5f                   	pop    %edi
50b560:	5e                   	pop    %esi
50b561:	5b                   	pop    %ebx
50b562:	8b e5                	mov    %ebp,%esp
50b564:	5d                   	pop    %ebp
50b565:	c2 08 00             	ret    $0x8
50b568:	55                   	push   %ebp
50b569:	8b ec                	mov    %esp,%ebp
50b56b:	83 c4 cc             	add    $0xffffffcc,%esp
50b56e:	53                   	push   %ebx
50b56f:	56                   	push   %esi
50b570:	89 4d f8             	mov    %ecx,-0x8(%ebp)
50b573:	89 55 fc             	mov    %edx,-0x4(%ebp)
50b576:	8b c8                	mov    %eax,%ecx
50b578:	8b 45 fc             	mov    -0x4(%ebp),%eax
50b57b:	8b 50 1c             	mov    0x1c(%eax),%edx
50b57e:	c1 e2 03             	shl    $0x3,%edx
50b581:	89 55 d4             	mov    %edx,-0x2c(%ebp)
50b584:	8b 81 e0 00 00 00    	mov    0xe0(%ecx),%eax
50b58a:	8b 55 fc             	mov    -0x4(%ebp),%edx
50b58d:	8b 5a 08             	mov    0x8(%edx),%ebx
50b590:	99                   	cltd
50b591:	f7 fb                	idiv   %ebx
50b593:	89 45 ec             	mov    %eax,-0x14(%ebp)
50b596:	8b 99 e4 00 00 00    	mov    0xe4(%ecx),%ebx
50b59c:	8b c3                	mov    %ebx,%eax
50b59e:	8b 55 fc             	mov    -0x4(%ebp),%edx
50b5a1:	8b 72 0c             	mov    0xc(%edx),%esi
50b5a4:	99                   	cltd
50b5a5:	f7 fe                	idiv   %esi
50b5a7:	89 45 e8             	mov    %eax,-0x18(%ebp)
50b5aa:	8b 45 ec             	mov    -0x14(%ebp),%eax
50b5ad:	f7 6d e8             	imull  -0x18(%ebp)
50b5b0:	89 45 e4             	mov    %eax,-0x1c(%ebp)
50b5b3:	8b 55 e4             	mov    -0x1c(%ebp),%edx
50b5b6:	d1 fa                	sar    $1,%edx
50b5b8:	79 03                	jns    0x50b5bd
50b5ba:	83 d2 00             	adc    $0x0,%edx
50b5bd:	89 55 e0             	mov    %edx,-0x20(%ebp)
50b5c0:	8b 45 d4             	mov    -0x2c(%ebp),%eax
50b5c3:	f7 6d ec             	imull  -0x14(%ebp)
50b5c6:	50                   	push   %eax
50b5c7:	8b d3                	mov    %ebx,%edx
50b5c9:	8b 49 18             	mov    0x18(%ecx),%ecx
50b5cc:	8b 45 f8             	mov    -0x8(%ebp),%eax
50b5cf:	e8 c0 fe ff ff       	call   0x50b494
50b5d4:	33 d2                	xor    %edx,%edx
50b5d6:	33 c9                	xor    %ecx,%ecx
50b5d8:	89 55 f4             	mov    %edx,-0xc(%ebp)
50b5db:	89 4d f0             	mov    %ecx,-0x10(%ebp)
50b5de:	8b 45 08             	mov    0x8(%ebp),%eax
50b5e1:	8b d0                	mov    %eax,%edx
50b5e3:	89 55 cc             	mov    %edx,-0x34(%ebp)
50b5e6:	eb 79                	jmp    0x50b661
50b5e8:	8b 4d cc             	mov    -0x34(%ebp),%ecx
50b5eb:	33 d2                	xor    %edx,%edx
50b5ed:	8b 01                	mov    (%ecx),%eax
50b5ef:	33 c9                	xor    %ecx,%ecx
50b5f1:	89 45 d0             	mov    %eax,-0x30(%ebp)
50b5f4:	89 55 dc             	mov    %edx,-0x24(%ebp)
50b5f7:	89 4d d8             	mov    %ecx,-0x28(%ebp)
50b5fa:	8b 45 dc             	mov    -0x24(%ebp),%eax
50b5fd:	3b 45 d4             	cmp    -0x2c(%ebp),%eax
50b600:	73 52                	jae    0x50b654
50b602:	33 c9                	xor    %ecx,%ecx
50b604:	33 db                	xor    %ebx,%ebx
50b606:	3b 5d e8             	cmp    -0x18(%ebp),%ebx
50b609:	7d 27                	jge    0x50b632
50b60b:	8b 45 f4             	mov    -0xc(%ebp),%eax
50b60e:	8b 55 f8             	mov    -0x8(%ebp),%edx
50b611:	03 c3                	add    %ebx,%eax
50b613:	8b 04 82             	mov    (%edx,%eax,4),%eax
50b616:	33 d2                	xor    %edx,%edx
50b618:	03 45 d8             	add    -0x28(%ebp),%eax
50b61b:	3b 55 ec             	cmp    -0x14(%ebp),%edx
50b61e:	7d 0c                	jge    0x50b62c
50b620:	0f b6 30             	movzbl (%eax),%esi
50b623:	03 ce                	add    %esi,%ecx
50b625:	40                   	inc    %eax
50b626:	42                   	inc    %edx
50b627:	3b 55 ec             	cmp    -0x14(%ebp),%edx
50b62a:	7c f4                	jl     0x50b620
50b62c:	43                   	inc    %ebx
50b62d:	3b 5d e8             	cmp    -0x18(%ebp),%ebx
50b630:	7c d9                	jl     0x50b60b
50b632:	8b 45 e0             	mov    -0x20(%ebp),%eax
50b635:	03 c1                	add    %ecx,%eax
50b637:	8b 4d d0             	mov    -0x30(%ebp),%ecx
50b63a:	99                   	cltd
50b63b:	f7 7d e4             	idivl  -0x1c(%ebp)
50b63e:	88 01                	mov    %al,(%ecx)
50b640:	ff 45 d0             	incl   -0x30(%ebp)
50b643:	ff 45 dc             	incl   -0x24(%ebp)
50b646:	8b 45 ec             	mov    -0x14(%ebp),%eax
50b649:	01 45 d8             	add    %eax,-0x28(%ebp)
50b64c:	8b 55 dc             	mov    -0x24(%ebp),%edx
50b64f:	3b 55 d4             	cmp    -0x2c(%ebp),%edx
50b652:	72 ae                	jb     0x50b602
50b654:	8b 4d e8             	mov    -0x18(%ebp),%ecx
50b657:	01 4d f4             	add    %ecx,-0xc(%ebp)
50b65a:	ff 45 f0             	incl   -0x10(%ebp)
50b65d:	83 45 cc 04          	addl   $0x4,-0x34(%ebp)
50b661:	8b 45 fc             	mov    -0x4(%ebp),%eax
50b664:	8b 50 0c             	mov    0xc(%eax),%edx
50b667:	3b 55 f0             	cmp    -0x10(%ebp),%edx
50b66a:	0f 8f 78 ff ff ff    	jg     0x50b5e8
50b670:	5e                   	pop    %esi
50b671:	5b                   	pop    %ebx
50b672:	8b e5                	mov    %ebp,%esp
50b674:	5d                   	pop    %ebp
50b675:	c2 04 00             	ret    $0x4
50b678:	55                   	push   %ebp
50b679:	8b ec                	mov    %esp,%ebp
50b67b:	51                   	push   %ecx
50b67c:	53                   	push   %ebx
50b67d:	56                   	push   %esi
50b67e:	57                   	push   %edi
50b67f:	89 4d fc             	mov    %ecx,-0x4(%ebp)
50b682:	8b d8                	mov    %eax,%ebx
50b684:	8b 75 08             	mov    0x8(%ebp),%esi
50b687:	6a 00                	push   $0x0
50b689:	8b 83 e4 00 00 00    	mov    0xe4(%ebx),%eax
50b68f:	8b fa                	mov    %edx,%edi
50b691:	50                   	push   %eax
50b692:	8b ce                	mov    %esi,%ecx
50b694:	8b 53 18             	mov    0x18(%ebx),%edx
50b697:	52                   	push   %edx
50b698:	33 d2                	xor    %edx,%edx
50b69a:	8b 45 fc             	mov    -0x4(%ebp),%eax
50b69d:	e8 f2 c4 ff ff       	call   0x507b94
50b6a2:	8b 4f 1c             	mov    0x1c(%edi),%ecx
50b6a5:	c1 e1 03             	shl    $0x3,%ecx
50b6a8:	51                   	push   %ecx
50b6a9:	8b 4b 18             	mov    0x18(%ebx),%ecx
50b6ac:	8b 93 e4 00 00 00    	mov    0xe4(%ebx),%edx
50b6b2:	8b c6                	mov    %esi,%eax
50b6b4:	e8 db fd ff ff       	call   0x50b494
50b6b9:	5f                   	pop    %edi
50b6ba:	5e                   	pop    %esi
50b6bb:	5b                   	pop    %ebx
50b6bc:	59                   	pop    %ecx
50b6bd:	5d                   	pop    %ebp
50b6be:	c2 04 00             	ret    $0x4
50b6c1:	90                   	nop
50b6c2:	90                   	nop
50b6c3:	90                   	nop
50b6c4:	55                   	push   %ebp
50b6c5:	8b ec                	mov    %esp,%ebp
50b6c7:	83 c4 ec             	add    $0xffffffec,%esp
50b6ca:	53                   	push   %ebx
50b6cb:	56                   	push   %esi
50b6cc:	57                   	push   %edi
50b6cd:	89 55 fc             	mov    %edx,-0x4(%ebp)
50b6d0:	8b 55 fc             	mov    -0x4(%ebp),%edx
50b6d3:	8b d9                	mov    %ecx,%ebx
50b6d5:	8b 4a 1c             	mov    0x1c(%edx),%ecx
50b6d8:	c1 e1 03             	shl    $0x3,%ecx
50b6db:	89 4d f4             	mov    %ecx,-0xc(%ebp)
50b6de:	8b 55 f4             	mov    -0xc(%ebp),%edx
50b6e1:	03 d2                	add    %edx,%edx
50b6e3:	52                   	push   %edx
50b6e4:	8b 90 e4 00 00 00    	mov    0xe4(%eax),%edx
50b6ea:	8b 48 18             	mov    0x18(%eax),%ecx
50b6ed:	8b c3                	mov    %ebx,%eax
50b6ef:	e8 a0 fd ff ff       	call   0x50b494
50b6f4:	33 c9                	xor    %ecx,%ecx
50b6f6:	8b c3                	mov    %ebx,%eax
50b6f8:	89 4d f8             	mov    %ecx,-0x8(%ebp)
50b6fb:	89 45 ec             	mov    %eax,-0x14(%ebp)
50b6fe:	8b 55 08             	mov    0x8(%ebp),%edx
50b701:	8b ca                	mov    %edx,%ecx
50b703:	89 4d f0             	mov    %ecx,-0x10(%ebp)
50b706:	eb 3b                	jmp    0x50b743
50b708:	8b 45 f0             	mov    -0x10(%ebp),%eax
50b70b:	8b 4d ec             	mov    -0x14(%ebp),%ecx
50b70e:	33 f6                	xor    %esi,%esi
50b710:	8b 10                	mov    (%eax),%edx
50b712:	8b 01                	mov    (%ecx),%eax
50b714:	33 c9                	xor    %ecx,%ecx
50b716:	3b 75 f4             	cmp    -0xc(%ebp),%esi
50b719:	73 1d                	jae    0x50b738
50b71b:	0f b6 78 01          	movzbl 0x1(%eax),%edi
50b71f:	33 db                	xor    %ebx,%ebx
50b721:	46                   	inc    %esi
50b722:	8a 18                	mov    (%eax),%bl
50b724:	83 c0 02             	add    $0x2,%eax
50b727:	03 df                	add    %edi,%ebx
50b729:	03 d9                	add    %ecx,%ebx
50b72b:	83 f1 01             	xor    $0x1,%ecx
50b72e:	d1 fb                	sar    $1,%ebx
50b730:	88 1a                	mov    %bl,(%edx)
50b732:	42                   	inc    %edx
50b733:	3b 75 f4             	cmp    -0xc(%ebp),%esi
50b736:	72 e3                	jb     0x50b71b
50b738:	ff 45 f8             	incl   -0x8(%ebp)
50b73b:	83 45 ec 04          	addl   $0x4,-0x14(%ebp)
50b73f:	83 45 f0 04          	addl   $0x4,-0x10(%ebp)
50b743:	8b 45 fc             	mov    -0x4(%ebp),%eax
50b746:	8b 50 0c             	mov    0xc(%eax),%edx
50b749:	3b 55 f8             	cmp    -0x8(%ebp),%edx
50b74c:	7f ba                	jg     0x50b708
50b74e:	5f                   	pop    %edi
50b74f:	5e                   	pop    %esi
50b750:	5b                   	pop    %ebx
50b751:	8b e5                	mov    %ebp,%esp
50b753:	5d                   	pop    %ebp
50b754:	c2 04 00             	ret    $0x4
50b757:	90                   	nop
50b758:	55                   	push   %ebp
50b759:	8b ec                	mov    %esp,%ebp
50b75b:	83 c4 e8             	add    $0xffffffe8,%esp
50b75e:	53                   	push   %ebx
50b75f:	56                   	push   %esi
50b760:	57                   	push   %edi
50b761:	89 55 fc             	mov    %edx,-0x4(%ebp)
50b764:	8b 55 fc             	mov    -0x4(%ebp),%edx
50b767:	8b d9                	mov    %ecx,%ebx
50b769:	8b 4a 1c             	mov    0x1c(%edx),%ecx
50b76c:	c1 e1 03             	shl    $0x3,%ecx
50b76f:	89 4d f0             	mov    %ecx,-0x10(%ebp)
50b772:	8b 55 f0             	mov    -0x10(%ebp),%edx
50b775:	03 d2                	add    %edx,%edx
50b777:	52                   	push   %edx
50b778:	8b 90 e4 00 00 00    	mov    0xe4(%eax),%edx
50b77e:	8b 48 18             	mov    0x18(%eax),%ecx
50b781:	8b c3                	mov    %ebx,%eax
50b783:	e8 0c fd ff ff       	call   0x50b494
50b788:	33 c9                	xor    %ecx,%ecx
50b78a:	8b c3                	mov    %ebx,%eax
50b78c:	89 4d f8             	mov    %ecx,-0x8(%ebp)
50b78f:	89 45 e8             	mov    %eax,-0x18(%ebp)
50b792:	8b 55 08             	mov    0x8(%ebp),%edx
50b795:	8b ca                	mov    %edx,%ecx
50b797:	89 4d ec             	mov    %ecx,-0x14(%ebp)
50b79a:	eb 5e                	jmp    0x50b7fa
50b79c:	8b 45 ec             	mov    -0x14(%ebp),%eax
50b79f:	8b 55 e8             	mov    -0x18(%ebp),%edx
50b7a2:	33 db                	xor    %ebx,%ebx
50b7a4:	be 01 00 00 00       	mov    $0x1,%esi
50b7a9:	8b 08                	mov    (%eax),%ecx
50b7ab:	8b 02                	mov    (%edx),%eax
50b7ad:	8b 55 e8             	mov    -0x18(%ebp),%edx
50b7b0:	8b 52 04             	mov    0x4(%edx),%edx
50b7b3:	89 5d f4             	mov    %ebx,-0xc(%ebp)
50b7b6:	8b 5d f4             	mov    -0xc(%ebp),%ebx
50b7b9:	3b 5d f0             	cmp    -0x10(%ebp),%ebx
50b7bc:	73 31                	jae    0x50b7ef
50b7be:	0f b6 78 01          	movzbl 0x1(%eax),%edi
50b7c2:	33 db                	xor    %ebx,%ebx
50b7c4:	8a 18                	mov    (%eax),%bl
50b7c6:	83 c0 02             	add    $0x2,%eax
50b7c9:	03 df                	add    %edi,%ebx
50b7cb:	0f b6 3a             	movzbl (%edx),%edi
50b7ce:	03 df                	add    %edi,%ebx
50b7d0:	0f b6 7a 01          	movzbl 0x1(%edx),%edi
50b7d4:	03 df                	add    %edi,%ebx
50b7d6:	83 c2 02             	add    $0x2,%edx
50b7d9:	03 de                	add    %esi,%ebx
50b7db:	83 f6 03             	xor    $0x3,%esi
50b7de:	c1 fb 02             	sar    $0x2,%ebx
50b7e1:	88 19                	mov    %bl,(%ecx)
50b7e3:	41                   	inc    %ecx
50b7e4:	ff 45 f4             	incl   -0xc(%ebp)
50b7e7:	8b 5d f4             	mov    -0xc(%ebp),%ebx
50b7ea:	3b 5d f0             	cmp    -0x10(%ebp),%ebx
50b7ed:	72 cf                	jb     0x50b7be
50b7ef:	83 45 e8 08          	addl   $0x8,-0x18(%ebp)
50b7f3:	ff 45 f8             	incl   -0x8(%ebp)
50b7f6:	83 45 ec 04          	addl   $0x4,-0x14(%ebp)
50b7fa:	8b 45 fc             	mov    -0x4(%ebp),%eax
50b7fd:	8b 50 0c             	mov    0xc(%eax),%edx
50b800:	3b 55 f8             	cmp    -0x8(%ebp),%edx
50b803:	7f 97                	jg     0x50b79c
50b805:	5f                   	pop    %edi
50b806:	5e                   	pop    %esi
50b807:	5b                   	pop    %ebx
50b808:	8b e5                	mov    %ebp,%esp
50b80a:	5d                   	pop    %ebp
50b80b:	c2 04 00             	ret    $0x4
50b80e:	90                   	nop
50b80f:	90                   	nop
50b810:	55                   	push   %ebp
50b811:	8b ec                	mov    %esp,%ebp
50b813:	83 c4 d4             	add    $0xffffffd4,%esp
50b816:	53                   	push   %ebx
50b817:	56                   	push   %esi
50b818:	57                   	push   %edi
50b819:	8b d8                	mov    %eax,%ebx
50b81b:	89 55 fc             	mov    %edx,-0x4(%ebp)
50b81e:	8b f1                	mov    %ecx,%esi
50b820:	8b 45 fc             	mov    -0x4(%ebp),%eax