5045a5:	56                   	push   %esi
5045a6:	e8 d5 c1 fd ff       	call   0x4e0780
5045ab:	6a 00                	push   $0x0
5045ad:	57                   	push   %edi
5045ae:	e8 cd 2d fe ff       	call   0x4e7380
5045b3:	83 c4 28             	add    $0x28,%esp
5045b6:	5f                   	pop    %edi
5045b7:	5b                   	pop    %ebx
5045b8:	33 c0                	xor    %eax,%eax
5045ba:	5e                   	pop    %esi
5045bb:	c3                   	ret
5045bc:	cc                   	int3
5045bd:	cc                   	int3
5045be:	cc                   	int3
5045bf:	cc                   	int3
5045c0:	8b 44 24 04          	mov    0x4(%esp),%eax
5045c4:	8b 40 14             	mov    0x14(%eax),%eax
5045c7:	83 78 0c 00          	cmpl   $0x0,0xc(%eax)
5045cb:	74 28                	je     0x5045f5
5045cd:	83 c0 04             	add    $0x4,%eax
5045d0:	50                   	push   %eax
5045d1:	e8 da 4d 00 00       	call   0x5093b0
5045d6:	83 c4 04             	add    $0x4,%esp
5045d9:	85 c0                	test   %eax,%eax
5045db:	74 18                	je     0x5045f5
5045dd:	50                   	push   %eax
5045de:	68 57 03 00 00       	push   $0x357
5045e3:	ff 74 24 10          	push   0x10(%esp)
5045e7:	e8 f4 c4 fe ff       	call   0x4f0ae0
5045ec:	83 c4 0c             	add    $0xc,%esp
5045ef:	b8 01 00 00 00       	mov    $0x1,%eax
5045f4:	c3                   	ret
5045f5:	33 c0                	xor    %eax,%eax
5045f7:	c3                   	ret
5045f8:	cc                   	int3
5045f9:	cc                   	int3
5045fa:	cc                   	int3
5045fb:	cc                   	int3
5045fc:	cc                   	int3
5045fd:	cc                   	int3
5045fe:	cc                   	int3
5045ff:	cc                   	int3
504600:	8b 44 24 04          	mov    0x4(%esp),%eax
504604:	56                   	push   %esi
504605:	57                   	push   %edi
504606:	8b 7c 24 10          	mov    0x10(%esp),%edi
50460a:	8b 70 14             	mov    0x14(%eax),%esi
50460d:	68 ff fe ff ff       	push   $0xfffffeff
504612:	57                   	push   %edi
504613:	e8 78 c1 fe ff       	call   0x4f0790
504618:	50                   	push   %eax
504619:	ff 76 14             	push   0x14(%esi)
50461c:	e8 0f b8 02 00       	call   0x52fe30
504621:	68 00 01 00 00       	push   $0x100
504626:	57                   	push   %edi
504627:	e8 54 c1 fe ff       	call   0x4f0780
50462c:	68 e0 47 50 00       	push   $0x5047e0
504631:	57                   	push   %edi
504632:	e8 49 2d fe ff       	call   0x4e7380
504637:	83 c4 20             	add    $0x20,%esp
50463a:	b8 01 00 00 00       	mov    $0x1,%eax
50463f:	5f                   	pop    %edi
504640:	5e                   	pop    %esi
504641:	c3                   	ret
504642:	cc                   	int3
504643:	cc                   	int3
504644:	cc                   	int3
504645:	cc                   	int3
504646:	cc                   	int3
504647:	cc                   	int3
504648:	cc                   	int3
504649:	cc                   	int3
50464a:	cc                   	int3
50464b:	cc                   	int3
50464c:	cc                   	int3
50464d:	cc                   	int3
50464e:	cc                   	int3
50464f:	cc                   	int3
504650:	8b 44 24 04          	mov    0x4(%esp),%eax
504654:	56                   	push   %esi
504655:	57                   	push   %edi
504656:	ff 74 24 18          	push   0x18(%esp)
50465a:	8b 78 14             	mov    0x14(%eax),%edi
50465d:	e8 0e c1 fe ff       	call   0x4f0770
504662:	50                   	push   %eax
504663:	e8 58 c2 fe ff       	call   0x4f08c0
504668:	83 c4 08             	add    $0x8,%esp
50466b:	85 c0                	test   %eax,%eax
50466d:	78 31                	js     0x5046a0
50466f:	8b 74 24 14          	mov    0x14(%esp),%esi
504673:	89 06                	mov    %eax,(%esi)
504675:	8b 44 24 10          	mov    0x10(%esp),%eax
504679:	85 c0                	test   %eax,%eax
50467b:	74 1b                	je     0x504698
50467d:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
504681:	51                   	push   %ecx
504682:	50                   	push   %eax
504683:	ff 77 14             	push   0x14(%edi)
504686:	e8 d5 b7 02 00       	call   0x52fe60
50468b:	83 c4 0c             	add    $0xc,%esp
50468e:	85 c0                	test   %eax,%eax
504690:	74 0e                	je     0x5046a0
504692:	8b 44 24 0c          	mov    0xc(%esp),%eax
504696:	89 06                	mov    %eax,(%esi)
504698:	5f                   	pop    %edi
504699:	b8 01 00 00 00       	mov    $0x1,%eax
50469e:	5e                   	pop    %esi
50469f:	c3                   	ret
5046a0:	5f                   	pop    %edi
5046a1:	33 c0                	xor    %eax,%eax
5046a3:	5e                   	pop    %esi
5046a4:	c3                   	ret
5046a5:	cc                   	int3
5046a6:	cc                   	int3
5046a7:	cc                   	int3
5046a8:	cc                   	int3
5046a9:	cc                   	int3
5046aa:	cc                   	int3
5046ab:	cc                   	int3
5046ac:	cc                   	int3
5046ad:	cc                   	int3
5046ae:	cc                   	int3
5046af:	cc                   	int3
5046b0:	8b 54 24 04          	mov    0x4(%esp),%edx
5046b4:	8b 44 24 08          	mov    0x8(%esp),%eax
5046b8:	8b 4a 14             	mov    0x14(%edx),%ecx
5046bb:	83 e8 01             	sub    $0x1,%eax
5046be:	74 57                	je     0x504717
5046c0:	83 e8 05             	sub    $0x5,%eax
5046c3:	74 28                	je     0x5046ed
5046c5:	83 e8 01             	sub    $0x1,%eax
5046c8:	74 06                	je     0x5046d0
5046ca:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
5046cf:	c3                   	ret
5046d0:	8b 42 08             	mov    0x8(%edx),%eax
5046d3:	ff 72 04             	push   0x4(%edx)
5046d6:	ff 31                	push   (%ecx)
5046d8:	8b 40 18             	mov    0x18(%eax),%eax
5046db:	ff 30                	push   (%eax)
5046dd:	ff 70 08             	push   0x8(%eax)
5046e0:	ff 71 14             	push   0x14(%ecx)
5046e3:	e8 28 b8 02 00       	call   0x52ff10
5046e8:	83 c4 14             	add    $0x14,%esp
5046eb:	eb 23                	jmp    0x504710
5046ed:	8b 54 24 10          	mov    0x10(%esp),%edx
5046f1:	8b 44 24 0c          	mov    0xc(%esp),%eax
5046f5:	85 d2                	test   %edx,%edx
5046f7:	75 04                	jne    0x5046fd
5046f9:	85 c0                	test   %eax,%eax
5046fb:	7f 17                	jg     0x504714
5046fd:	83 f8 ff             	cmp    $0xffffffff,%eax
504700:	7c 12                	jl     0x504714
504702:	50                   	push   %eax
504703:	52                   	push   %edx
504704:	8d 41 04             	lea    0x4(%ecx),%eax
504707:	50                   	push   %eax
504708:	e8 13 72 00 00       	call   0x50b920
50470d:	83 c4 0c             	add    $0xc,%esp
504710:	85 c0                	test   %eax,%eax
504712:	75 09                	jne    0x50471d
504714:	33 c0                	xor    %eax,%eax
504716:	c3                   	ret
504717:	8b 44 24 10          	mov    0x10(%esp),%eax
50471b:	89 01                	mov    %eax,(%ecx)
50471d:	b8 01 00 00 00       	mov    $0x1,%eax
504722:	c3                   	ret
504723:	cc                   	int3
504724:	cc                   	int3
504725:	cc                   	int3
504726:	cc                   	int3
504727:	cc                   	int3
504728:	cc                   	int3
504729:	cc                   	int3
50472a:	cc                   	int3
50472b:	cc                   	int3
50472c:	cc                   	int3
50472d:	cc                   	int3
50472e:	cc                   	int3
50472f:	cc                   	int3
504730:	56                   	push   %esi
504731:	8b 74 24 10          	mov    0x10(%esp),%esi
504735:	85 f6                	test   %esi,%esi
504737:	75 04                	jne    0x50473d
504739:	33 c0                	xor    %eax,%eax
50473b:	5e                   	pop    %esi
50473c:	c3                   	ret
50473d:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
504741:	ba 94 6a 60 00       	mov    $0x606a94,%edx
504746:	8b c1                	mov    %ecx,%eax
504748:	53                   	push   %ebx
504749:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
504750:	8a 18                	mov    (%eax),%bl
504752:	3a 1a                	cmp    (%edx),%bl
504754:	75 1a                	jne    0x504770
504756:	84 db                	test   %bl,%bl
504758:	74 12                	je     0x50476c
50475a:	8a 58 01             	mov    0x1(%eax),%bl
50475d:	3a 5a 01             	cmp    0x1(%edx),%bl
504760:	75 0e                	jne    0x504770
504762:	83 c0 02             	add    $0x2,%eax
504765:	83 c2 02             	add    $0x2,%edx
504768:	84 db                	test   %bl,%bl
50476a:	75 e4                	jne    0x504750
50476c:	33 c0                	xor    %eax,%eax
50476e:	eb 05                	jmp    0x504775
504770:	1b c0                	sbb    %eax,%eax
504772:	83 c8 01             	or     $0x1,%eax
504775:	5b                   	pop    %ebx
504776:	85 c0                	test   %eax,%eax
504778:	75 11                	jne    0x50478b
50477a:	56                   	push   %esi
50477b:	6a 06                	push   $0x6
50477d:	ff 74 24 10          	push   0x10(%esp)
504781:	e8 0a 2c fe ff       	call   0x4e7390
504786:	83 c4 0c             	add    $0xc,%esp
504789:	5e                   	pop    %esi
50478a:	c3                   	ret
50478b:	b8 44 9d 62 00       	mov    $0x629d44,%eax
504790:	8a 11                	mov    (%ecx),%dl
504792:	3a 10                	cmp    (%eax),%dl
504794:	75 1a                	jne    0x5047b0
504796:	84 d2                	test   %dl,%dl
504798:	74 12                	je     0x5047ac
50479a:	8a 51 01             	mov    0x1(%ecx),%dl
50479d:	3a 50 01             	cmp    0x1(%eax),%dl
5047a0:	75 0e                	jne    0x5047b0
5047a2:	83 c1 02             	add    $0x2,%ecx
5047a5:	83 c0 02             	add    $0x2,%eax
5047a8:	84 d2                	test   %dl,%dl
5047aa:	75 e4                	jne    0x504790
5047ac:	33 c0                	xor    %eax,%eax
5047ae:	eb 05                	jmp    0x5047b5
5047b0:	1b c0                	sbb    %eax,%eax
5047b2:	83 c8 01             	or     $0x1,%eax
5047b5:	85 c0                	test   %eax,%eax
5047b7:	75 11                	jne    0x5047ca
5047b9:	56                   	push   %esi
5047ba:	6a 06                	push   $0x6
5047bc:	ff 74 24 10          	push   0x10(%esp)
5047c0:	e8 ab 2a fe ff       	call   0x4e7270
5047c5:	83 c4 0c             	add    $0xc,%esp
5047c8:	5e                   	pop    %esi
5047c9:	c3                   	ret
5047ca:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
5047cf:	5e                   	pop    %esi
5047d0:	c3                   	ret
5047d1:	cc                   	int3
5047d2:	cc                   	int3
5047d3:	cc                   	int3
5047d4:	cc                   	int3
5047d5:	cc                   	int3
5047d6:	cc                   	int3
5047d7:	cc                   	int3
5047d8:	cc                   	int3
5047d9:	cc                   	int3
5047da:	cc                   	int3
5047db:	cc                   	int3
5047dc:	cc                   	int3
5047dd:	cc                   	int3
5047de:	cc                   	int3
5047df:	cc                   	int3
5047e0:	ff 74 24 04          	push   0x4(%esp)
5047e4:	e8 c7 ba fe ff       	call   0x4f02b0
5047e9:	ff 74 24 10          	push   0x10(%esp)
5047ed:	ff 74 24 10          	push   0x10(%esp)
5047f1:	8b 40 14             	mov    0x14(%eax),%eax
5047f4:	ff 70 14             	push   0x14(%eax)
5047f7:	e8 24 ba 02 00       	call   0x530220
5047fc:	83 c4 10             	add    $0x10,%esp
5047ff:	f7 d8                	neg    %eax
504801:	1b c0                	sbb    %eax,%eax
504803:	f7 d8                	neg    %eax
504805:	c3                   	ret
504806:	cc                   	int3
504807:	cc                   	int3
504808:	cc                   	int3
504809:	cc                   	int3
50480a:	cc                   	int3
50480b:	cc                   	int3
50480c:	cc                   	int3
50480d:	cc                   	int3
50480e:	cc                   	int3
50480f:	cc                   	int3
504810:	6a 37                	push   $0x37
504812:	68 6c a8 62 00       	push   $0x62a86c
504817:	6a 34                	push   $0x34
504819:	e8 22 c2 fd ff       	call   0x4e0a40
50481e:	83 c4 0c             	add    $0xc,%esp
504821:	85 c0                	test   %eax,%eax
504823:	75 01                	jne    0x504826
504825:	c3                   	ret
504826:	56                   	push   %esi
504827:	8b 74 24 08          	mov    0x8(%esp),%esi
50482b:	ba 06 00 00 00       	mov    $0x6,%edx
504830:	c7 00 00 08 00 00    	movl   $0x800,(%eax)
504836:	c7 40 08 02 00 00 00 	movl   $0x2,0x8(%eax)
50483d:	57                   	push   %edi
50483e:	8b 0e                	mov    (%esi),%ecx
504840:	bf 01 00 00 00       	mov    $0x1,%edi
504845:	81 39 90 03 00 00    	cmpl   $0x390,(%ecx)
50484b:	8d 48 0c             	lea    0xc(%eax),%ecx
50484e:	0f 45 d7             	cmovne %edi,%edx
504851:	89 50 14             	mov    %edx,0x14(%eax)
504854:	c7 40 20 fe ff ff ff 	movl   $0xfffffffe,0x20(%eax)
50485b:	c7 40 24 ff ff ff ff 	movl   $0xffffffff,0x24(%eax)
504862:	89 46 14             	mov    %eax,0x14(%esi)
504865:	8b c7                	mov    %edi,%eax
504867:	5f                   	pop    %edi
504868:	89 4e 20             	mov    %ecx,0x20(%esi)
50486b:	c7 46 24 02 00 00 00 	movl   $0x2,0x24(%esi)
504872:	5e                   	pop    %esi
504873:	c3                   	ret
504874:	cc                   	int3
504875:	cc                   	int3
504876:	cc                   	int3
504877:	cc                   	int3
504878:	cc                   	int3
504879:	cc                   	int3
50487a:	cc                   	int3
50487b:	cc                   	int3
50487c:	cc                   	int3
50487d:	cc                   	int3
50487e:	cc                   	int3
50487f:	cc                   	int3
504880:	53                   	push   %ebx
504881:	56                   	push   %esi
504882:	57                   	push   %edi
504883:	6a 37                	push   $0x37
504885:	68 6c a8 62 00       	push   $0x62a86c
50488a:	6a 34                	push   $0x34
50488c:	e8 af c1 fd ff       	call   0x4e0a40
504891:	8b f8                	mov    %eax,%edi
504893:	83 c4 0c             	add    $0xc,%esp
504896:	85 ff                	test   %edi,%edi
504898:	0f 84 b8 00 00 00    	je     0x504956
50489e:	8b 74 24 10          	mov    0x10(%esp),%esi
5048a2:	8d 47 0c             	lea    0xc(%edi),%eax
5048a5:	c7 07 00 08 00 00    	movl   $0x800,(%edi)
5048ab:	ba 06 00 00 00       	mov    $0x6,%edx
5048b0:	c7 47 08 02 00 00 00 	movl   $0x2,0x8(%edi)
5048b7:	bb 01 00 00 00       	mov    $0x1,%ebx
5048bc:	8b 0e                	mov    (%esi),%ecx
5048be:	81 39 90 03 00 00    	cmpl   $0x390,(%ecx)
5048c4:	0f 45 d3             	cmovne %ebx,%edx
5048c7:	89 57 14             	mov    %edx,0x14(%edi)
5048ca:	c7 47 20 fe ff ff ff 	movl   $0xfffffffe,0x20(%edi)
5048d1:	c7 47 24 ff ff ff ff 	movl   $0xffffffff,0x24(%edi)
5048d8:	89 46 20             	mov    %eax,0x20(%esi)
5048db:	8b 44 24 14          	mov    0x14(%esp),%eax
5048df:	89 7e 14             	mov    %edi,0x14(%esi)