51d448:	85 c0                	test   %eax,%eax
51d44a:	74 42                	je     0x51d48e
51d44c:	83 c0 07             	add    $0x7,%eax
51d44f:	c7 44 24 04 02 00 00 	movl   $0x2,0x4(%esp)
51d456:	00
51d457:	99                   	cltd
51d458:	83 e2 07             	and    $0x7,%edx
51d45b:	c6 44 24 14 ff       	movb   $0xff,0x14(%esp)
51d460:	03 c2                	add    %edx,%eax
51d462:	c1 f8 03             	sar    $0x3,%eax
51d465:	89 04 24             	mov    %eax,(%esp)
51d468:	8d 44 24 14          	lea    0x14(%esp),%eax
51d46c:	89 44 24 08          	mov    %eax,0x8(%esp)
51d470:	8d 04 24             	lea    (%esp),%eax
51d473:	6a 00                	push   $0x0
51d475:	50                   	push   %eax
51d476:	e8 45 e5 fc ff       	call   0x4eb9c0
51d47b:	03 c0                	add    %eax,%eax
51d47d:	6a 10                	push   $0x10
51d47f:	50                   	push   %eax
51d480:	6a 01                	push   $0x1
51d482:	e8 69 d0 fe ff       	call   0x50a4f0
51d487:	83 c4 14             	add    $0x14,%esp
51d48a:	85 c0                	test   %eax,%eax
51d48c:	79 02                	jns    0x51d490
51d48e:	33 c0                	xor    %eax,%eax
51d490:	83 c4 10             	add    $0x10,%esp
51d493:	c3                   	ret
51d494:	cc                   	int3
51d495:	cc                   	int3
51d496:	cc                   	int3
51d497:	cc                   	int3
51d498:	cc                   	int3
51d499:	cc                   	int3
51d49a:	cc                   	int3
51d49b:	cc                   	int3
51d49c:	cc                   	int3
51d49d:	cc                   	int3
51d49e:	cc                   	int3
51d49f:	cc                   	int3
51d4a0:	56                   	push   %esi
51d4a1:	8b 74 24 08          	mov    0x8(%esp),%esi
51d4a5:	56                   	push   %esi
51d4a6:	e8 15 2c fd ff       	call   0x4f00c0
51d4ab:	50                   	push   %eax
51d4ac:	e8 1f c1 fb ff       	call   0x4d95d0
51d4b1:	83 c4 08             	add    $0x8,%esp
51d4b4:	3d 97 01 00 00       	cmp    $0x197,%eax
51d4b9:	75 2b                	jne    0x51d4e6
51d4bb:	33 c0                	xor    %eax,%eax
51d4bd:	8d 4e 2c             	lea    0x2c(%esi),%ecx
51d4c0:	83 39 00             	cmpl   $0x0,(%ecx)
51d4c3:	74 09                	je     0x51d4ce
51d4c5:	40                   	inc    %eax
51d4c6:	83 c1 04             	add    $0x4,%ecx
51d4c9:	83 f8 06             	cmp    $0x6,%eax
51d4cc:	7c f2                	jl     0x51d4c0
51d4ce:	83 f8 04             	cmp    $0x4,%eax
51d4d1:	75 07                	jne    0x51d4da
51d4d3:	b8 ab 02 00 00       	mov    $0x2ab,%eax
51d4d8:	5e                   	pop    %esi
51d4d9:	c3                   	ret
51d4da:	83 f8 02             	cmp    $0x2,%eax
51d4dd:	75 07                	jne    0x51d4e6
51d4df:	b8 aa 02 00 00       	mov    $0x2aa,%eax
51d4e4:	5e                   	pop    %esi
51d4e5:	c3                   	ret
51d4e6:	33 c0                	xor    %eax,%eax
51d4e8:	5e                   	pop    %esi
51d4e9:	c3                   	ret
51d4ea:	cc                   	int3
51d4eb:	cc                   	int3
51d4ec:	cc                   	int3
51d4ed:	cc                   	int3
51d4ee:	cc                   	int3
51d4ef:	cc                   	int3
51d4f0:	b8 04 00 00 00       	mov    $0x4,%eax
51d4f5:	e8 b6 42 0b 00       	call   0x5d17b0
51d4fa:	53                   	push   %ebx
51d4fb:	8b 5c 24 10          	mov    0x10(%esp),%ebx
51d4ff:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
51d506:	00
51d507:	55                   	push   %ebp
51d508:	56                   	push   %esi
51d509:	57                   	push   %edi
51d50a:	85 db                	test   %ebx,%ebx
51d50c:	75 33                	jne    0x51d541
51d50e:	68 bc 0c 64 00       	push   $0x640cbc
51d513:	e8 f8 e7 fc ff       	call   0x4ebd10
51d518:	8b f0                	mov    %eax,%esi
51d51a:	83 c4 04             	add    $0x4,%esp
51d51d:	85 f6                	test   %esi,%esi
51d51f:	75 22                	jne    0x51d543
51d521:	68 cb 01 00 00       	push   $0x1cb
51d526:	68 d0 0f 64 00       	push   $0x640fd0
51d52b:	6a 41                	push   $0x41
51d52d:	68 05 01 00 00       	push   $0x105
51d532:	6a 10                	push   $0x10
51d534:	e8 47 ba fb ff       	call   0x4d8f80
51d539:	83 c4 14             	add    $0x14,%esp
51d53c:	e9 50 01 00 00       	jmp    0x51d691
51d541:	8b f3                	mov    %ebx,%esi
51d543:	ff 76 04             	push   0x4(%esi)
51d546:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
51d54a:	57                   	push   %edi
51d54b:	c7 06 01 00 00 00    	movl   $0x1,(%esi)
51d551:	e8 9a 0f 00 00       	call   0x51e4f0
51d556:	83 c4 08             	add    $0x8,%esp
51d559:	85 c0                	test   %eax,%eax
51d55b:	75 0f                	jne    0x51d56c
51d55d:	b8 10 00 00 00       	mov    $0x10,%eax
51d562:	b9 d6 01 00 00       	mov    $0x1d6,%ecx
51d567:	e9 0b 01 00 00       	jmp    0x51d677
51d56c:	ff 76 08             	push   0x8(%esi)
51d56f:	57                   	push   %edi
51d570:	e8 4b 0d 00 00       	call   0x51e2c0
51d575:	83 c4 08             	add    $0x8,%esp
51d578:	85 c0                	test   %eax,%eax
51d57a:	75 0f                	jne    0x51d58b
51d57c:	b8 10 00 00 00       	mov    $0x10,%eax
51d581:	b9 dc 01 00 00       	mov    $0x1dc,%ecx
51d586:	e9 ec 00 00 00       	jmp    0x51d677
51d58b:	57                   	push   %edi
51d58c:	e8 3f c0 fb ff       	call   0x4d95d0
51d591:	8b e8                	mov    %eax,%ebp
51d593:	83 c4 04             	add    $0x4,%esp
51d596:	85 ed                	test   %ebp,%ebp
51d598:	75 0d                	jne    0x51d5a7
51d59a:	8d 45 71             	lea    0x71(%ebp),%eax
51d59d:	b9 e2 01 00 00       	mov    $0x1e2,%ecx
51d5a2:	e9 d0 00 00 00       	jmp    0x51d677
51d5a7:	57                   	push   %edi
51d5a8:	e8 e3 42 fd ff       	call   0x4f1890
51d5ad:	6a 00                	push   $0x0
51d5af:	8d 4c 24 18          	lea    0x18(%esp),%ecx
51d5b3:	51                   	push   %ecx
51d5b4:	50                   	push   %eax
51d5b5:	55                   	push   %ebp
51d5b6:	57                   	push   %edi
51d5b7:	e8 24 1f ff ff       	call   0x50f4e0
51d5bc:	8b e8                	mov    %eax,%ebp
51d5be:	83 c4 18             	add    $0x18,%esp
51d5c1:	85 ed                	test   %ebp,%ebp
51d5c3:	75 0d                	jne    0x51d5d2
51d5c5:	8d 45 10             	lea    0x10(%ebp),%eax
51d5c8:	b9 ea 01 00 00       	mov    $0x1ea,%ecx
51d5cd:	e9 a5 00 00 00       	jmp    0x51d677
51d5d2:	8b 46 0c             	mov    0xc(%esi),%eax
51d5d5:	85 c0                	test   %eax,%eax
51d5d7:	75 2e                	jne    0x51d607
51d5d9:	e8 b2 e2 fc ff       	call   0x4eb890
51d5de:	89 46 0c             	mov    %eax,0xc(%esi)
51d5e1:	85 c0                	test   %eax,%eax
51d5e3:	75 22                	jne    0x51d607
51d5e5:	68 ee 01 00 00       	push   $0x1ee
51d5ea:	68 d0 0f 64 00       	push   $0x640fd0
51d5ef:	ff 74 24 18          	push   0x18(%esp)
51d5f3:	e8 88 31 fc ff       	call   0x4e0780
51d5f8:	83 c4 0c             	add    $0xc,%esp
51d5fb:	b8 41 00 00 00       	mov    $0x41,%eax
51d600:	b9 ef 01 00 00       	mov    $0x1ef,%ecx
51d605:	eb 70                	jmp    0x51d677
51d607:	55                   	push   %ebp
51d608:	ff 74 24 14          	push   0x14(%esp)
51d60c:	50                   	push   %eax
51d60d:	e8 fe cc fe ff       	call   0x50a310
51d612:	57                   	push   %edi
51d613:	e8 38 9c fc ff       	call   0x4e7250
51d618:	83 c4 10             	add    $0x10,%esp
51d61b:	85 c0                	test   %eax,%eax
51d61d:	75 0c                	jne    0x51d62b
51d61f:	b8 10 00 00 00       	mov    $0x10,%eax
51d624:	b9 f7 01 00 00       	mov    $0x1f7,%ecx
51d629:	eb 4c                	jmp    0x51d677
51d62b:	8b 6e 10             	mov    0x10(%esi),%ebp
51d62e:	55                   	push   %ebp
51d62f:	50                   	push   %eax
51d630:	e8 cb be fe ff       	call   0x509500
51d635:	83 c4 08             	add    $0x8,%esp
51d638:	89 46 10             	mov    %eax,0x10(%esi)
51d63b:	85 c0                	test   %eax,%eax
51d63d:	75 0a                	jne    0x51d649
51d63f:	89 6e 10             	mov    %ebp,0x10(%esi)
51d642:	b9 fd 01 00 00       	mov    $0x1fd,%ecx
51d647:	eb 29                	jmp    0x51d672
51d649:	57                   	push   %edi
51d64a:	e8 f1 9b fc ff       	call   0x4e7240
51d64f:	83 c4 04             	add    $0x4,%esp
51d652:	85 c0                	test   %eax,%eax
51d654:	74 51                	je     0x51d6a7
51d656:	8b 7e 14             	mov    0x14(%esi),%edi
51d659:	57                   	push   %edi
51d65a:	50                   	push   %eax
51d65b:	e8 a0 be fe ff       	call   0x509500
51d660:	83 c4 08             	add    $0x8,%esp
51d663:	89 46 14             	mov    %eax,0x14(%esi)
51d666:	85 c0                	test   %eax,%eax
51d668:	75 3d                	jne    0x51d6a7
51d66a:	89 7e 14             	mov    %edi,0x14(%esi)
51d66d:	b9 07 02 00 00       	mov    $0x207,%ecx
51d672:	b8 0d 00 00 00       	mov    $0xd,%eax
51d677:	51                   	push   %ecx
51d678:	68 d0 0f 64 00       	push   $0x640fd0
51d67d:	50                   	push   %eax
51d67e:	68 05 01 00 00       	push   $0x105
51d683:	6a 10                	push   $0x10
51d685:	e8 f6 b8 fb ff       	call   0x4d8f80
51d68a:	83 c4 14             	add    $0x14,%esp
51d68d:	85 db                	test   %ebx,%ebx
51d68f:	75 0e                	jne    0x51d69f
51d691:	68 bc 0c 64 00       	push   $0x640cbc
51d696:	56                   	push   %esi
51d697:	e8 24 ec fc ff       	call   0x4ec2c0
51d69c:	83 c4 08             	add    $0x8,%esp
51d69f:	5f                   	pop    %edi
51d6a0:	5e                   	pop    %esi
51d6a1:	5d                   	pop    %ebp
51d6a2:	33 c0                	xor    %eax,%eax
51d6a4:	5b                   	pop    %ebx
51d6a5:	59                   	pop    %ecx
51d6a6:	c3                   	ret
51d6a7:	5f                   	pop    %edi
51d6a8:	8b c6                	mov    %esi,%eax
51d6aa:	5e                   	pop    %esi
51d6ab:	5d                   	pop    %ebp
51d6ac:	5b                   	pop    %ebx
51d6ad:	59                   	pop    %ecx
51d6ae:	c3                   	ret
51d6af:	cc                   	int3
51d6b0:	56                   	push   %esi
51d6b1:	8b 74 24 0c          	mov    0xc(%esp),%esi
51d6b5:	85 f6                	test   %esi,%esi
51d6b7:	75 32                	jne    0x51d6eb
51d6b9:	68 8c 0d 64 00       	push   $0x640d8c
51d6be:	e8 4d e6 fc ff       	call   0x4ebd10
51d6c3:	8b f0                	mov    %eax,%esi
51d6c5:	83 c4 04             	add    $0x4,%esp
51d6c8:	85 f6                	test   %esi,%esi
51d6ca:	75 4c                	jne    0x51d718
51d6cc:	68 1c 02 00 00       	push   $0x21c
51d6d1:	68 d0 0f 64 00       	push   $0x640fd0
51d6d6:	6a 41                	push   $0x41
51d6d8:	68 06 01 00 00       	push   $0x106
51d6dd:	6a 10                	push   $0x10
51d6df:	e8 9c b8 fb ff       	call   0x4d8f80
51d6e4:	83 c4 14             	add    $0x14,%esp
51d6e7:	33 c0                	xor    %eax,%eax
51d6e9:	5e                   	pop    %esi
51d6ea:	c3                   	ret
51d6eb:	8b 06                	mov    (%esi),%eax
51d6ed:	85 c0                	test   %eax,%eax
51d6ef:	75 0d                	jne    0x51d6fe
51d6f1:	ff 76 04             	push   0x4(%esi)
51d6f4:	e8 17 d1 fe ff       	call   0x50a810
51d6f9:	83 c4 04             	add    $0x4,%esp
51d6fc:	eb 1a                	jmp    0x51d718
51d6fe:	83 f8 01             	cmp    $0x1,%eax
51d701:	75 15                	jne    0x51d718
51d703:	8b 46 04             	mov    0x4(%esi),%eax
51d706:	85 c0                	test   %eax,%eax
51d708:	74 0e                	je     0x51d718
51d70a:	68 bc 0c 64 00       	push   $0x640cbc
51d70f:	50                   	push   %eax
51d710:	e8 ab eb fc ff       	call   0x4ec2c0
51d715:	83 c4 08             	add    $0x8,%esp
51d718:	57                   	push   %edi
51d719:	8b 7c 24 0c          	mov    0xc(%esp),%edi
51d71d:	57                   	push   %edi
51d71e:	e8 3d 9b fc ff       	call   0x4e7260
51d723:	83 c4 04             	add    $0x4,%esp
51d726:	85 c0                	test   %eax,%eax
51d728:	74 5d                	je     0x51d787
51d72a:	57                   	push   %edi
51d72b:	e8 80 2b fd ff       	call   0x4f02b0
51d730:	83 c4 04             	add    $0x4,%esp
51d733:	85 c0                	test   %eax,%eax
51d735:	74 68                	je     0x51d79f
51d737:	50                   	push   %eax
51d738:	e8 a3 1d fd ff       	call   0x4ef4e0
51d73d:	8b f8                	mov    %eax,%edi
51d73f:	83 c4 04             	add    $0x4,%esp
51d742:	85 ff                	test   %edi,%edi
51d744:	74 1b                	je     0x51d761
51d746:	57                   	push   %edi
51d747:	e8 e4 1b fd ff       	call   0x4ef330
51d74c:	83 c4 04             	add    $0x4,%esp
51d74f:	85 c0                	test   %eax,%eax
51d751:	74 0e                	je     0x51d761
51d753:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
51d759:	89 7e 04             	mov    %edi,0x4(%esi)
51d75c:	5f                   	pop    %edi
51d75d:	8b c6                	mov    %esi,%eax
51d75f:	5e                   	pop    %esi
51d760:	c3                   	ret
51d761:	57                   	push   %edi
51d762:	e8 a9 d0 fe ff       	call   0x50a810
51d767:	68 31 02 00 00       	push   $0x231
51d76c:	68 d0 0f 64 00       	push   $0x640fd0
51d771:	68 a7 00 00 00       	push   $0xa7
51d776:	68 06 01 00 00       	push   $0x106
51d77b:	6a 10                	push   $0x10
51d77d:	e8 fe b7 fb ff       	call   0x4d8f80
51d782:	83 c4 18             	add    $0x18,%esp
51d785:	eb 18                	jmp    0x51d79f
51d787:	6a 00                	push   $0x0
51d789:	57                   	push   %edi
51d78a:	c7 06 01 00 00 00    	movl   $0x1,(%esi)
51d790:	e8 5b fd ff ff       	call   0x51d4f0
51d795:	83 c4 08             	add    $0x8,%esp
51d798:	89 46 04             	mov    %eax,0x4(%esi)
51d79b:	85 c0                	test   %eax,%eax
51d79d:	75 bd                	jne    0x51d75c
51d79f:	68 8c 0d 64 00       	push   $0x640d8c
51d7a4:	56                   	push   %esi
51d7a5:	e8 16 eb fc ff       	call   0x4ec2c0
51d7aa:	83 c4 08             	add    $0x8,%esp
51d7ad:	33 c0                	xor    %eax,%eax
51d7af:	5f                   	pop    %edi
51d7b0:	5e                   	pop    %esi
51d7b1:	c3                   	ret
51d7b2:	cc                   	int3
51d7b3:	cc                   	int3
51d7b4:	cc                   	int3
51d7b5:	cc                   	int3
51d7b6:	cc                   	int3
51d7b7:	cc                   	int3
51d7b8:	cc                   	int3
51d7b9:	cc                   	int3
51d7ba:	cc                   	int3
51d7bb:	cc                   	int3
51d7bc:	cc                   	int3
51d7bd:	cc                   	int3
51d7be:	cc                   	int3
51d7bf:	cc                   	int3
51d7c0:	b8 18 00 00 00       	mov    $0x18,%eax
51d7c5:	e8 e6 3f 0b 00       	call   0x5d17b0
51d7ca:	53                   	push   %ebx
51d7cb:	55                   	push   %ebp
51d7cc:	56                   	push   %esi
51d7cd:	57                   	push   %edi
51d7ce:	8b 7c 24 2c          	mov    0x2c(%esp),%edi
51d7d2:	33 db                	xor    %ebx,%ebx
51d7d4:	33 f6                	xor    %esi,%esi
51d7d6:	89 5c 24 18          	mov    %ebx,0x18(%esp)
51d7da:	33 ed                	xor    %ebp,%ebp
51d7dc:	89 5c 24 10          	mov    %ebx,0x10(%esp)
51d7e0:	89 5c 24 14          	mov    %ebx,0x14(%esp)
51d7e4:	8b 47 04             	mov    0x4(%edi),%eax
51d7e7:	89 5c 24 1c          	mov    %ebx,0x1c(%esp)
51d7eb:	85 c0                	test   %eax,%eax