50050d:	8b 12                	mov    (%edx),%edx
50050f:	d1 e9                	shr    $1,%ecx
500511:	89 4d e0             	mov    %ecx,-0x20(%ebp)
500514:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
500518:	0f 86 a1 00 00 00    	jbe    0x5005bf
50051e:	8b 4d e8             	mov    -0x18(%ebp),%ecx
500521:	0f b6 09             	movzbl (%ecx),%ecx
500524:	ff 45 e8             	incl   -0x18(%ebp)
500527:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
50052a:	0f b6 1b             	movzbl (%ebx),%ebx
50052d:	89 5d f0             	mov    %ebx,-0x10(%ebp)
500530:	ff 45 e4             	incl   -0x1c(%ebp)
500533:	8b 5d dc             	mov    -0x24(%ebp),%ebx
500536:	8b 75 f0             	mov    -0x10(%ebp),%esi
500539:	8b 1c b3             	mov    (%ebx,%esi,4),%ebx
50053c:	89 5d f8             	mov    %ebx,-0x8(%ebp)
50053f:	8b 5d d0             	mov    -0x30(%ebp),%ebx
500542:	8b 7d f0             	mov    -0x10(%ebp),%edi
500545:	8b 34 8b             	mov    (%ebx,%ecx,4),%esi
500548:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
50054b:	03 34 bb             	add    (%ebx,%edi,4),%esi
50054e:	8b 5d d8             	mov    -0x28(%ebp),%ebx
500551:	c1 fe 10             	sar    $0x10,%esi
500554:	8b 0c 8b             	mov    (%ebx,%ecx,4),%ecx
500557:	89 4d f4             	mov    %ecx,-0xc(%ebp)
50055a:	8b 4d ec             	mov    -0x14(%ebp),%ecx
50055d:	0f b6 09             	movzbl (%ecx),%ecx
500560:	ff 45 ec             	incl   -0x14(%ebp)
500563:	8b 7d f8             	mov    -0x8(%ebp),%edi
500566:	8d 1c 08             	lea    (%eax,%ecx,1),%ebx
500569:	8a 1c 3b             	mov    (%ebx,%edi,1),%bl
50056c:	88 5a 02             	mov    %bl,0x2(%edx)
50056f:	8d 1c 08             	lea    (%eax,%ecx,1),%ebx
500572:	8d 0c 08             	lea    (%eax,%ecx,1),%ecx
500575:	8a 1c 33             	mov    (%ebx,%esi,1),%bl
500578:	88 5a 01             	mov    %bl,0x1(%edx)
50057b:	8b 5d f4             	mov    -0xc(%ebp),%ebx
50057e:	8a 0c 19             	mov    (%ecx,%ebx,1),%cl
500581:	88 0a                	mov    %cl,(%edx)
500583:	83 c2 03             	add    $0x3,%edx
500586:	8b 4d ec             	mov    -0x14(%ebp),%ecx
500589:	0f b6 09             	movzbl (%ecx),%ecx
50058c:	ff 45 ec             	incl   -0x14(%ebp)
50058f:	8b 7d f8             	mov    -0x8(%ebp),%edi
500592:	8d 1c 08             	lea    (%eax,%ecx,1),%ebx
500595:	8a 1c 3b             	mov    (%ebx,%edi,1),%bl
500598:	88 5a 02             	mov    %bl,0x2(%edx)
50059b:	8d 1c 08             	lea    (%eax,%ecx,1),%ebx
50059e:	8d 0c 08             	lea    (%eax,%ecx,1),%ecx
5005a1:	8a 1c 33             	mov    (%ebx,%esi,1),%bl
5005a4:	88 5a 01             	mov    %bl,0x1(%edx)
5005a7:	8b 5d f4             	mov    -0xc(%ebp),%ebx
5005aa:	8a 0c 19             	mov    (%ecx,%ebx,1),%cl
5005ad:	88 0a                	mov    %cl,(%edx)
5005af:	83 c2 03             	add    $0x3,%edx
5005b2:	ff 4d e0             	decl   -0x20(%ebp)
5005b5:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
5005b9:	0f 87 5f ff ff ff    	ja     0x50051e
5005bf:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5005c2:	f6 41 6c 01          	testb  $0x1,0x6c(%ecx)
5005c6:	74 5b                	je     0x500623
5005c8:	8b 4d e8             	mov    -0x18(%ebp),%ecx
5005cb:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
5005ce:	0f b6 09             	movzbl (%ecx),%ecx
5005d1:	0f b6 1b             	movzbl (%ebx),%ebx
5005d4:	89 5d f0             	mov    %ebx,-0x10(%ebp)
5005d7:	8b 5d dc             	mov    -0x24(%ebp),%ebx
5005da:	8b 75 f0             	mov    -0x10(%ebp),%esi
5005dd:	8b 1c b3             	mov    (%ebx,%esi,4),%ebx
5005e0:	89 5d f8             	mov    %ebx,-0x8(%ebp)
5005e3:	8b 5d d0             	mov    -0x30(%ebp),%ebx
5005e6:	8b 7d f0             	mov    -0x10(%ebp),%edi
5005e9:	8b 34 8b             	mov    (%ebx,%ecx,4),%esi
5005ec:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
5005ef:	03 34 bb             	add    (%ebx,%edi,4),%esi
5005f2:	8b 5d d8             	mov    -0x28(%ebp),%ebx
5005f5:	c1 fe 10             	sar    $0x10,%esi
5005f8:	8b 0c 8b             	mov    (%ebx,%ecx,4),%ecx
5005fb:	89 4d f4             	mov    %ecx,-0xc(%ebp)
5005fe:	8b 4d ec             	mov    -0x14(%ebp),%ecx
500601:	8b 7d f8             	mov    -0x8(%ebp),%edi
500604:	0f b6 09             	movzbl (%ecx),%ecx
500607:	8d 1c 08             	lea    (%eax,%ecx,1),%ebx
50060a:	8a 1c 3b             	mov    (%ebx,%edi,1),%bl
50060d:	88 5a 02             	mov    %bl,0x2(%edx)
500610:	8d 1c 08             	lea    (%eax,%ecx,1),%ebx
500613:	03 c1                	add    %ecx,%eax
500615:	8a 1c 33             	mov    (%ebx,%esi,1),%bl
500618:	88 5a 01             	mov    %bl,0x1(%edx)
50061b:	8b 4d f4             	mov    -0xc(%ebp),%ecx
50061e:	8a 04 08             	mov    (%eax,%ecx,1),%al
500621:	88 02                	mov    %al,(%edx)
500623:	5f                   	pop    %edi
500624:	5e                   	pop    %esi
500625:	5b                   	pop    %ebx
500626:	8b e5                	mov    %ebp,%esp
500628:	5d                   	pop    %ebp
500629:	c2 04 00             	ret    $0x4
50062c:	55                   	push   %ebp
50062d:	8b ec                	mov    %esp,%ebp
50062f:	83 c4 c4             	add    $0xffffffc4,%esp
500632:	53                   	push   %ebx
500633:	56                   	push   %esi
500634:	57                   	push   %edi
500635:	89 4d f8             	mov    %ecx,-0x8(%ebp)
500638:	89 45 fc             	mov    %eax,-0x4(%ebp)
50063b:	8b 5d 08             	mov    0x8(%ebp),%ebx
50063e:	8b 45 fc             	mov    -0x4(%ebp),%eax
500641:	8b 80 bc 01 00 00    	mov    0x1bc(%eax),%eax
500647:	8b 4d fc             	mov    -0x4(%ebp),%ecx
50064a:	8b 89 3c 01 00 00    	mov    0x13c(%ecx),%ecx
500650:	8b 70 10             	mov    0x10(%eax),%esi
500653:	89 75 d0             	mov    %esi,-0x30(%ebp)
500656:	8b 70 14             	mov    0x14(%eax),%esi
500659:	89 75 cc             	mov    %esi,-0x34(%ebp)
50065c:	8b 70 18             	mov    0x18(%eax),%esi
50065f:	89 75 c8             	mov    %esi,-0x38(%ebp)
500662:	8b 40 1c             	mov    0x1c(%eax),%eax
500665:	89 45 c4             	mov    %eax,-0x3c(%ebp)
500668:	8b 45 f8             	mov    -0x8(%ebp),%eax
50066b:	03 c0                	add    %eax,%eax
50066d:	8b 32                	mov    (%edx),%esi
50066f:	8b 34 86             	mov    (%esi,%eax,4),%esi
500672:	89 75 e4             	mov    %esi,-0x1c(%ebp)
500675:	8b 32                	mov    (%edx),%esi
500677:	8b 44 86 04          	mov    0x4(%esi,%eax,4),%eax
50067b:	89 45 e0             	mov    %eax,-0x20(%ebp)
50067e:	8b 42 04             	mov    0x4(%edx),%eax
500681:	8b 75 f8             	mov    -0x8(%ebp),%esi
500684:	8b 04 b0             	mov    (%eax,%esi,4),%eax
500687:	89 45 dc             	mov    %eax,-0x24(%ebp)
50068a:	8b 52 08             	mov    0x8(%edx),%edx
50068d:	8b 45 f8             	mov    -0x8(%ebp),%eax
500690:	8b 14 82             	mov    (%edx,%eax,4),%edx
500693:	89 55 d8             	mov    %edx,-0x28(%ebp)
500696:	8b 03                	mov    (%ebx),%eax
500698:	8b 53 04             	mov    0x4(%ebx),%edx
50069b:	89 55 e8             	mov    %edx,-0x18(%ebp)
50069e:	8b 55 fc             	mov    -0x4(%ebp),%edx
5006a1:	8b 52 6c             	mov    0x6c(%edx),%edx
5006a4:	d1 ea                	shr    $1,%edx
5006a6:	89 55 d4             	mov    %edx,-0x2c(%ebp)
5006a9:	83 7d d4 00          	cmpl   $0x0,-0x2c(%ebp)
5006ad:	0f 86 0d 01 00 00    	jbe    0x5007c0
5006b3:	8b 55 dc             	mov    -0x24(%ebp),%edx
5006b6:	0f b6 12             	movzbl (%edx),%edx
5006b9:	ff 45 dc             	incl   -0x24(%ebp)
5006bc:	8b 5d d8             	mov    -0x28(%ebp),%ebx
5006bf:	0f b6 1b             	movzbl (%ebx),%ebx
5006c2:	89 5d ec             	mov    %ebx,-0x14(%ebp)
5006c5:	ff 45 d8             	incl   -0x28(%ebp)
5006c8:	8b 5d d0             	mov    -0x30(%ebp),%ebx
5006cb:	8b 75 ec             	mov    -0x14(%ebp),%esi
5006ce:	8b 1c b3             	mov    (%ebx,%esi,4),%ebx
5006d1:	89 5d f4             	mov    %ebx,-0xc(%ebp)
5006d4:	8b 5d c4             	mov    -0x3c(%ebp),%ebx
5006d7:	8b 7d ec             	mov    -0x14(%ebp),%edi
5006da:	8b 34 93             	mov    (%ebx,%edx,4),%esi
5006dd:	8b 5d c8             	mov    -0x38(%ebp),%ebx
5006e0:	03 34 bb             	add    (%ebx,%edi,4),%esi
5006e3:	8b 5d cc             	mov    -0x34(%ebp),%ebx
5006e6:	c1 fe 10             	sar    $0x10,%esi
5006e9:	8b 14 93             	mov    (%ebx,%edx,4),%edx
5006ec:	89 55 f0             	mov    %edx,-0x10(%ebp)
5006ef:	8b 55 e4             	mov    -0x1c(%ebp),%edx
5006f2:	0f b6 12             	movzbl (%edx),%edx
5006f5:	ff 45 e4             	incl   -0x1c(%ebp)
5006f8:	8b 5d f4             	mov    -0xc(%ebp),%ebx
5006fb:	8d 3c 11             	lea    (%ecx,%edx,1),%edi
5006fe:	8a 1c 1f             	mov    (%edi,%ebx,1),%bl
500701:	88 58 02             	mov    %bl,0x2(%eax)
500704:	8d 1c 11             	lea    (%ecx,%edx,1),%ebx
500707:	8d 14 11             	lea    (%ecx,%edx,1),%edx
50070a:	8a 1c 33             	mov    (%ebx,%esi,1),%bl
50070d:	88 58 01             	mov    %bl,0x1(%eax)
500710:	8b 5d f0             	mov    -0x10(%ebp),%ebx
500713:	8a 14 1a             	mov    (%edx,%ebx,1),%dl
500716:	88 10                	mov    %dl,(%eax)
500718:	83 c0 03             	add    $0x3,%eax
50071b:	8b 55 e4             	mov    -0x1c(%ebp),%edx
50071e:	0f b6 12             	movzbl (%edx),%edx
500721:	ff 45 e4             	incl   -0x1c(%ebp)
500724:	8b 5d f4             	mov    -0xc(%ebp),%ebx
500727:	8d 3c 11             	lea    (%ecx,%edx,1),%edi
50072a:	8a 1c 1f             	mov    (%edi,%ebx,1),%bl
50072d:	88 58 02             	mov    %bl,0x2(%eax)
500730:	8d 1c 11             	lea    (%ecx,%edx,1),%ebx
500733:	8d 14 11             	lea    (%ecx,%edx,1),%edx
500736:	8a 1c 33             	mov    (%ebx,%esi,1),%bl
500739:	88 58 01             	mov    %bl,0x1(%eax)
50073c:	8b 5d f0             	mov    -0x10(%ebp),%ebx
50073f:	8a 14 1a             	mov    (%edx,%ebx,1),%dl
500742:	88 10                	mov    %dl,(%eax)
500744:	83 c0 03             	add    $0x3,%eax
500747:	8b 55 e0             	mov    -0x20(%ebp),%edx
50074a:	0f b6 12             	movzbl (%edx),%edx
50074d:	ff 45 e0             	incl   -0x20(%ebp)
500750:	8b 5d f4             	mov    -0xc(%ebp),%ebx
500753:	8d 3c 11             	lea    (%ecx,%edx,1),%edi
500756:	8a 1c 1f             	mov    (%edi,%ebx,1),%bl
500759:	8b 7d e8             	mov    -0x18(%ebp),%edi
50075c:	88 5f 02             	mov    %bl,0x2(%edi)
50075f:	8d 1c 11             	lea    (%ecx,%edx,1),%ebx
500762:	8b 7d e8             	mov    -0x18(%ebp),%edi
500765:	8d 14 11             	lea    (%ecx,%edx,1),%edx
500768:	8a 1c 33             	mov    (%ebx,%esi,1),%bl
50076b:	88 5f 01             	mov    %bl,0x1(%edi)
50076e:	8b 5d f0             	mov    -0x10(%ebp),%ebx
500771:	8a 14 1a             	mov    (%edx,%ebx,1),%dl
500774:	8b 5d e8             	mov    -0x18(%ebp),%ebx
500777:	88 13                	mov    %dl,(%ebx)
500779:	83 45 e8 03          	addl   $0x3,-0x18(%ebp)
50077d:	8b 55 e0             	mov    -0x20(%ebp),%edx
500780:	0f b6 12             	movzbl (%edx),%edx
500783:	ff 45 e0             	incl   -0x20(%ebp)
500786:	8b 5d f4             	mov    -0xc(%ebp),%ebx
500789:	8d 3c 11             	lea    (%ecx,%edx,1),%edi
50078c:	8a 1c 1f             	mov    (%edi,%ebx,1),%bl
50078f:	8b 7d e8             	mov    -0x18(%ebp),%edi
500792:	88 5f 02             	mov    %bl,0x2(%edi)
500795:	8d 1c 11             	lea    (%ecx,%edx,1),%ebx
500798:	8d 14 11             	lea    (%ecx,%edx,1),%edx
50079b:	8a 1c 33             	mov    (%ebx,%esi,1),%bl
50079e:	8b 75 e8             	mov    -0x18(%ebp),%esi
5007a1:	88 5e 01             	mov    %bl,0x1(%esi)
5007a4:	8b 5d f0             	mov    -0x10(%ebp),%ebx
5007a7:	8a 14 1a             	mov    (%edx,%ebx,1),%dl
5007aa:	8b 5d e8             	mov    -0x18(%ebp),%ebx
5007ad:	88 13                	mov    %dl,(%ebx)
5007af:	83 45 e8 03          	addl   $0x3,-0x18(%ebp)
5007b3:	ff 4d d4             	decl   -0x2c(%ebp)
5007b6:	83 7d d4 00          	cmpl   $0x0,-0x2c(%ebp)
5007ba:	0f 87 f3 fe ff ff    	ja     0x5006b3
5007c0:	8b 55 fc             	mov    -0x4(%ebp),%edx
5007c3:	f6 42 6c 01          	testb  $0x1,0x6c(%edx)
5007c7:	0f 84 8c 00 00 00    	je     0x500859
5007cd:	8b 55 dc             	mov    -0x24(%ebp),%edx
5007d0:	8b 5d d8             	mov    -0x28(%ebp),%ebx
5007d3:	0f b6 12             	movzbl (%edx),%edx
5007d6:	0f b6 1b             	movzbl (%ebx),%ebx
5007d9:	89 5d ec             	mov    %ebx,-0x14(%ebp)
5007dc:	8b 5d d0             	mov    -0x30(%ebp),%ebx
5007df:	8b 75 ec             	mov    -0x14(%ebp),%esi
5007e2:	8b 1c b3             	mov    (%ebx,%esi,4),%ebx
5007e5:	89 5d f4             	mov    %ebx,-0xc(%ebp)
5007e8:	8b 5d c4             	mov    -0x3c(%ebp),%ebx
5007eb:	8b 7d ec             	mov    -0x14(%ebp),%edi
5007ee:	8b 34 93             	mov    (%ebx,%edx,4),%esi
5007f1:	8b 5d c8             	mov    -0x38(%ebp),%ebx
5007f4:	03 34 bb             	add    (%ebx,%edi,4),%esi
5007f7:	8b 5d cc             	mov    -0x34(%ebp),%ebx
5007fa:	c1 fe 10             	sar    $0x10,%esi
5007fd:	8b 14 93             	mov    (%ebx,%edx,4),%edx
500800:	89 55 f0             	mov    %edx,-0x10(%ebp)
500803:	8b 55 e4             	mov    -0x1c(%ebp),%edx
500806:	8b 5d f4             	mov    -0xc(%ebp),%ebx
500809:	0f b6 12             	movzbl (%edx),%edx
50080c:	8d 3c 11             	lea    (%ecx,%edx,1),%edi
50080f:	8a 1c 1f             	mov    (%edi,%ebx,1),%bl
500812:	88 58 02             	mov    %bl,0x2(%eax)
500815:	8d 1c 11             	lea    (%ecx,%edx,1),%ebx
500818:	8d 14 11             	lea    (%ecx,%edx,1),%edx
50081b:	8a 1c 33             	mov    (%ebx,%esi,1),%bl
50081e:	88 58 01             	mov    %bl,0x1(%eax)
500821:	8b 5d f0             	mov    -0x10(%ebp),%ebx
500824:	8a 14 1a             	mov    (%edx,%ebx,1),%dl
500827:	88 10                	mov    %dl,(%eax)
500829:	33 d2                	xor    %edx,%edx
50082b:	8b 45 e0             	mov    -0x20(%ebp),%eax
50082e:	8a 10                	mov    (%eax),%dl
500830:	8b 45 f4             	mov    -0xc(%ebp),%eax
500833:	8d 1c 11             	lea    (%ecx,%edx,1),%ebx
500836:	8a 04 03             	mov    (%ebx,%eax,1),%al
500839:	8b 5d e8             	mov    -0x18(%ebp),%ebx
50083c:	88 43 02             	mov    %al,0x2(%ebx)
50083f:	8d 04 11             	lea    (%ecx,%edx,1),%eax
500842:	8b 5d e8             	mov    -0x18(%ebp),%ebx
500845:	8d 14 11             	lea    (%ecx,%edx,1),%edx
500848:	8a 04 30             	mov    (%eax,%esi,1),%al
50084b:	88 43 01             	mov    %al,0x1(%ebx)
50084e:	8b 45 f0             	mov    -0x10(%ebp),%eax
500851:	8a 0c 02             	mov    (%edx,%eax,1),%cl
500854:	8b 45 e8             	mov    -0x18(%ebp),%eax
500857:	88 08                	mov    %cl,(%eax)
500859:	5f                   	pop    %edi
50085a:	5e                   	pop    %esi
50085b:	5b                   	pop    %ebx
50085c:	8b e5                	mov    %ebp,%esp
50085e:	5d                   	pop    %ebp
50085f:	c2 04 00             	ret    $0x4
500862:	90                   	nop
500863:	90                   	nop
500864:	53                   	push   %ebx
500865:	56                   	push   %esi
500866:	8b f0                	mov    %eax,%esi
500868:	57                   	push   %edi
500869:	8b c6                	mov    %esi,%eax
50086b:	b9 30 00 00 00       	mov    $0x30,%ecx
500870:	ba 01 00 00 00       	mov    $0x1,%edx
500875:	8b 58 04             	mov    0x4(%eax),%ebx
500878:	ff 13                	call   *(%ebx)
50087a:	8b d8                	mov    %eax,%ebx
50087c:	33 c0                	xor    %eax,%eax
50087e:	89 9e bc 01 00 00    	mov    %ebx,0x1bc(%esi)
500884:	c7 03 b0 03 50 00    	movl   $0x5003b0,(%ebx)
50088a:	89 43 08             	mov    %eax,0x8(%ebx)
50088d:	8b 56 6c             	mov    0x6c(%esi),%edx
500890:	0f af 56 74          	imul   0x74(%esi),%edx
500894:	89 53 28             	mov    %edx,0x28(%ebx)
500897:	83 be 30 01 00 00 02 	cmpl   $0x2,0x130(%esi)
50089e:	75 23                	jne    0x5008c3
5008a0:	c7 43 04 c4 03 50 00 	movl   $0x5003c4,0x4(%ebx)
5008a7:	8b c6                	mov    %esi,%eax
5008a9:	ba 01 00 00 00       	mov    $0x1,%edx
5008ae:	c7 43 0c 2c 06 50 00 	movl   $0x50062c,0xc(%ebx)
5008b5:	8b 78 04             	mov    0x4(%eax),%edi
5008b8:	8b 4b 28             	mov    0x28(%ebx),%ecx
5008bb:	ff 57 04             	call   *0x4(%edi)
5008be:	89 43 20             	mov    %eax,0x20(%ebx)
5008c1:	eb 13                	jmp    0x5008d6
5008c3:	c7 43 04 7c 04 50 00 	movl   $0x50047c,0x4(%ebx)
5008ca:	c7 43 0c b4 04 50 00 	movl   $0x5004b4,0xc(%ebx)
5008d1:	33 c0                	xor    %eax,%eax
5008d3:	89 43 20             	mov    %eax,0x20(%ebx)
5008d6:	8b c6                	mov    %esi,%eax
5008d8:	e8 1b fa ff ff       	call   0x5002f8
5008dd:	5f                   	pop    %edi
5008de:	5e                   	pop    %esi
5008df:	5b                   	pop    %ebx
5008e0:	c3                   	ret
5008e1:	8d 40 00             	lea    0x0(%eax),%eax
5008e4:	53                   	push   %ebx
5008e5:	56                   	push   %esi
5008e6:	8b f0                	mov    %eax,%esi
5008e8:	57                   	push   %edi
5008e9:	8b c6                	mov    %esi,%eax
5008eb:	b9 00 04 00 00       	mov    $0x400,%ecx
5008f0:	8b 9e c0 01 00 00    	mov    0x1c0(%esi),%ebx
5008f6:	ba 01 00 00 00       	mov    $0x1,%edx
5008fb:	8b 78 04             	mov    0x4(%eax),%edi
5008fe:	ff 17                	call   *(%edi)
500900:	89 43 08             	mov    %eax,0x8(%ebx)
500903:	8b c6                	mov    %esi,%eax
500905:	b9 00 04 00 00       	mov    $0x400,%ecx
50090a:	ba 01 00 00 00       	mov    $0x1,%edx
50090f:	8b 78 04             	mov    0x4(%eax),%edi
500912:	ff 17                	call   *(%edi)
500914:	89 43 0c             	mov    %eax,0xc(%ebx)
500917:	8b c6                	mov    %esi,%eax
500919:	b9 00 04 00 00       	mov    $0x400,%ecx