50b30c:	00 00                	add    %al,(%eax)
50b30e:	8b c3                	mov    %ebx,%eax
50b310:	8b 10                	mov    (%eax),%edx
50b312:	ff 12                	call   *(%edx)
50b314:	83 7b 24 01          	cmpl   $0x1,0x24(%ebx)
50b318:	75 0a                	jne    0x50b324
50b31a:	c7 46 04 80 b1 50 00 	movl   $0x50b180,0x4(%esi)
50b321:	5e                   	pop    %esi
50b322:	5b                   	pop    %ebx
50b323:	c3                   	ret
50b324:	83 7b 24 02          	cmpl   $0x2,0x24(%ebx)
50b328:	75 10                	jne    0x50b33a
50b32a:	c7 06 08 ae 50 00    	movl   $0x50ae08,(%esi)
50b330:	c7 46 04 b0 af 50 00 	movl   $0x50afb0,0x4(%esi)
50b337:	5e                   	pop    %esi
50b338:	5b                   	pop    %ebx
50b339:	c3                   	ret
50b33a:	83 7b 24 03          	cmpl   $0x3,0x24(%ebx)
50b33e:	75 0a                	jne    0x50b34a
50b340:	c7 46 04 80 b1 50 00 	movl   $0x50b180,0x4(%esi)
50b347:	5e                   	pop    %esi
50b348:	5b                   	pop    %ebx
50b349:	c3                   	ret
50b34a:	8b 0b                	mov    (%ebx),%ecx
50b34c:	8b c3                	mov    %ebx,%eax
50b34e:	c7 41 14 19 00 00 00 	movl   $0x19,0x14(%ecx)
50b355:	8b 10                	mov    (%eax),%edx
50b357:	ff 12                	call   *(%edx)
50b359:	5e                   	pop    %esi
50b35a:	5b                   	pop    %ebx
50b35b:	c3                   	ret
50b35c:	83 7b 34 03          	cmpl   $0x3,0x34(%ebx)
50b360:	74 0f                	je     0x50b371
50b362:	8b 0b                	mov    (%ebx),%ecx
50b364:	8b c3                	mov    %ebx,%eax
50b366:	c7 41 14 08 00 00 00 	movl   $0x8,0x14(%ecx)
50b36d:	8b 10                	mov    (%eax),%edx
50b36f:	ff 12                	call   *(%edx)
50b371:	83 7b 24 02          	cmpl   $0x2,0x24(%ebx)
50b375:	75 0a                	jne    0x50b381
50b377:	c7 46 04 cc b1 50 00 	movl   $0x50b1cc,0x4(%esi)
50b37e:	5e                   	pop    %esi
50b37f:	5b                   	pop    %ebx
50b380:	c3                   	ret
50b381:	8b 0b                	mov    (%ebx),%ecx
50b383:	8b c3                	mov    %ebx,%eax
50b385:	c7 41 14 19 00 00 00 	movl   $0x19,0x14(%ecx)
50b38c:	8b 10                	mov    (%eax),%edx
50b38e:	ff 12                	call   *(%edx)
50b390:	5e                   	pop    %esi
50b391:	5b                   	pop    %ebx
50b392:	c3                   	ret
50b393:	83 7b 34 03          	cmpl   $0x3,0x34(%ebx)
50b397:	74 0f                	je     0x50b3a8
50b399:	8b 0b                	mov    (%ebx),%ecx
50b39b:	8b c3                	mov    %ebx,%eax
50b39d:	c7 41 14 08 00 00 00 	movl   $0x8,0x14(%ecx)
50b3a4:	8b 10                	mov    (%eax),%edx
50b3a6:	ff 12                	call   *(%edx)
50b3a8:	83 7b 24 02          	cmpl   $0x2,0x24(%ebx)
50b3ac:	75 10                	jne    0x50b3be
50b3ae:	c7 06 08 ae 50 00    	movl   $0x50ae08,(%esi)
50b3b4:	c7 46 04 a8 ae 50 00 	movl   $0x50aea8,0x4(%esi)
50b3bb:	5e                   	pop    %esi
50b3bc:	5b                   	pop    %ebx
50b3bd:	c3                   	ret
50b3be:	83 7b 24 03          	cmpl   $0x3,0x24(%ebx)
50b3c2:	75 0a                	jne    0x50b3ce
50b3c4:	c7 46 04 cc b1 50 00 	movl   $0x50b1cc,0x4(%esi)
50b3cb:	5e                   	pop    %esi
50b3cc:	5b                   	pop    %ebx
50b3cd:	c3                   	ret
50b3ce:	8b 0b                	mov    (%ebx),%ecx
50b3d0:	8b c3                	mov    %ebx,%eax
50b3d2:	c7 41 14 19 00 00 00 	movl   $0x19,0x14(%ecx)
50b3d9:	8b 10                	mov    (%eax),%edx
50b3db:	ff 12                	call   *(%edx)
50b3dd:	5e                   	pop    %esi
50b3de:	5b                   	pop    %ebx
50b3df:	c3                   	ret
50b3e0:	83 7b 34 04          	cmpl   $0x4,0x34(%ebx)
50b3e4:	74 0f                	je     0x50b3f5
50b3e6:	8b 0b                	mov    (%ebx),%ecx
50b3e8:	8b c3                	mov    %ebx,%eax
50b3ea:	c7 41 14 08 00 00 00 	movl   $0x8,0x14(%ecx)
50b3f1:	8b 10                	mov    (%eax),%edx
50b3f3:	ff 12                	call   *(%edx)
50b3f5:	83 7b 24 04          	cmpl   $0x4,0x24(%ebx)
50b3f9:	75 0a                	jne    0x50b405
50b3fb:	c7 46 04 cc b1 50 00 	movl   $0x50b1cc,0x4(%esi)
50b402:	5e                   	pop    %esi
50b403:	5b                   	pop    %ebx
50b404:	c3                   	ret
50b405:	8b 0b                	mov    (%ebx),%ecx
50b407:	8b c3                	mov    %ebx,%eax
50b409:	c7 41 14 19 00 00 00 	movl   $0x19,0x14(%ecx)
50b410:	8b 10                	mov    (%eax),%edx
50b412:	ff 12                	call   *(%edx)
50b414:	5e                   	pop    %esi
50b415:	5b                   	pop    %ebx
50b416:	c3                   	ret
50b417:	83 7b 34 04          	cmpl   $0x4,0x34(%ebx)
50b41b:	74 0f                	je     0x50b42c
50b41d:	8b 0b                	mov    (%ebx),%ecx
50b41f:	8b c3                	mov    %ebx,%eax
50b421:	c7 41 14 08 00 00 00 	movl   $0x8,0x14(%ecx)
50b428:	8b 10                	mov    (%eax),%edx
50b42a:	ff 12                	call   *(%edx)
50b42c:	83 7b 24 04          	cmpl   $0x4,0x24(%ebx)
50b430:	75 10                	jne    0x50b442
50b432:	c7 06 08 ae 50 00    	movl   $0x50ae08,(%esi)
50b438:	c7 46 04 3c b0 50 00 	movl   $0x50b03c,0x4(%esi)
50b43f:	5e                   	pop    %esi
50b440:	5b                   	pop    %ebx
50b441:	c3                   	ret
50b442:	83 7b 24 05          	cmpl   $0x5,0x24(%ebx)
50b446:	75 0a                	jne    0x50b452
50b448:	c7 46 04 cc b1 50 00 	movl   $0x50b1cc,0x4(%esi)
50b44f:	5e                   	pop    %esi
50b450:	5b                   	pop    %ebx
50b451:	c3                   	ret
50b452:	8b 0b                	mov    (%ebx),%ecx
50b454:	8b c3                	mov    %ebx,%eax
50b456:	c7 41 14 19 00 00 00 	movl   $0x19,0x14(%ecx)
50b45d:	8b 10                	mov    (%eax),%edx
50b45f:	ff 12                	call   *(%edx)
50b461:	5e                   	pop    %esi
50b462:	5b                   	pop    %ebx
50b463:	c3                   	ret
50b464:	8b 4b 38             	mov    0x38(%ebx),%ecx
50b467:	3b 4b 24             	cmp    0x24(%ebx),%ecx
50b46a:	75 08                	jne    0x50b474
50b46c:	8b 43 34             	mov    0x34(%ebx),%eax
50b46f:	3b 43 20             	cmp    0x20(%ebx),%eax
50b472:	74 0f                	je     0x50b483
50b474:	8b 13                	mov    (%ebx),%edx
50b476:	8b c3                	mov    %ebx,%eax
50b478:	c7 42 14 19 00 00 00 	movl   $0x19,0x14(%edx)
50b47f:	8b 10                	mov    (%eax),%edx
50b481:	ff 12                	call   *(%edx)
50b483:	c7 46 04 cc b1 50 00 	movl   $0x50b1cc,0x4(%esi)
50b48a:	5e                   	pop    %esi
50b48b:	5b                   	pop    %ebx
50b48c:	c3                   	ret
50b48d:	8d 40 00             	lea    0x0(%eax),%eax
50b490:	c3                   	ret
50b491:	90                   	nop
50b492:	90                   	nop
50b493:	90                   	nop
50b494:	55                   	push   %ebp
50b495:	8b ec                	mov    %esp,%ebp
50b497:	83 c4 f4             	add    $0xfffffff4,%esp
50b49a:	56                   	push   %esi
50b49b:	57                   	push   %edi
50b49c:	89 4d f8             	mov    %ecx,-0x8(%ebp)
50b49f:	89 55 fc             	mov    %edx,-0x4(%ebp)
50b4a2:	8b 55 08             	mov    0x8(%ebp),%edx
50b4a5:	2b 55 f8             	sub    -0x8(%ebp),%edx
50b4a8:	89 55 f4             	mov    %edx,-0xc(%ebp)
50b4ab:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
50b4af:	7e 29                	jle    0x50b4da
50b4b1:	33 c9                	xor    %ecx,%ecx
50b4b3:	8b f8                	mov    %eax,%edi
50b4b5:	3b 4d fc             	cmp    -0x4(%ebp),%ecx
50b4b8:	7d 20                	jge    0x50b4da
50b4ba:	8b 07                	mov    (%edi),%eax
50b4bc:	8b 75 f4             	mov    -0xc(%ebp),%esi
50b4bf:	03 45 f8             	add    -0x8(%ebp),%eax
50b4c2:	85 f6                	test   %esi,%esi
50b4c4:	8a 50 ff             	mov    -0x1(%eax),%dl
50b4c7:	7e 08                	jle    0x50b4d1
50b4c9:	88 10                	mov    %dl,(%eax)
50b4cb:	40                   	inc    %eax
50b4cc:	4e                   	dec    %esi
50b4cd:	85 f6                	test   %esi,%esi
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