50660b:	89 46 08             	mov    %eax,0x8(%esi)
50660e:	85 c0                	test   %eax,%eax
506610:	74 9b                	je     0x5065ad
506612:	5f                   	pop    %edi
506613:	c7 46 0c 00 00 00 00 	movl   $0x0,0xc(%esi)
50661a:	b8 01 00 00 00       	mov    $0x1,%eax
50661f:	5e                   	pop    %esi
506620:	5d                   	pop    %ebp
506621:	5b                   	pop    %ebx
506622:	83 c4 34             	add    $0x34,%esp
506625:	c3                   	ret
506626:	85 c9                	test   %ecx,%ecx
506628:	75 09                	jne    0x506633
50662a:	83 fb 01             	cmp    $0x1,%ebx
50662d:	0f 86 40 ff ff ff    	jbe    0x506573
506633:	8b d3                	mov    %ebx,%edx
506635:	8b c1                	mov    %ecx,%eax
506637:	83 c2 ff             	add    $0xffffffff,%edx
50663a:	83 d0 ff             	adc    $0xffffffff,%eax
50663d:	23 d3                	and    %ebx,%edx
50663f:	23 c1                	and    %ecx,%eax
506641:	0b d0                	or     %eax,%edx
506643:	0f 85 2a ff ff ff    	jne    0x506573
506649:	5f                   	pop    %edi
50664a:	89 5e 10             	mov    %ebx,0x10(%esi)
50664d:	8d 42 01             	lea    0x1(%edx),%eax
506650:	89 4e 14             	mov    %ecx,0x14(%esi)
506653:	5e                   	pop    %esi
506654:	5d                   	pop    %ebp
506655:	5b                   	pop    %ebx
506656:	83 c4 34             	add    $0x34,%esp
506659:	c3                   	ret
50665a:	85 c9                	test   %ecx,%ecx
50665c:	77 0f                	ja     0x50666d
50665e:	0f 82 0f ff ff ff    	jb     0x506573
506664:	83 fb 01             	cmp    $0x1,%ebx
506667:	0f 82 06 ff ff ff    	jb     0x506573
50666d:	5f                   	pop    %edi
50666e:	89 5e 18             	mov    %ebx,0x18(%esi)
506671:	b8 01 00 00 00       	mov    $0x1,%eax
506676:	89 4e 1c             	mov    %ecx,0x1c(%esi)
506679:	5e                   	pop    %esi
50667a:	5d                   	pop    %ebp
50667b:	5b                   	pop    %ebx
50667c:	83 c4 34             	add    $0x34,%esp
50667f:	c3                   	ret
506680:	85 c9                	test   %ecx,%ecx
506682:	77 0f                	ja     0x506693
506684:	0f 82 e9 fe ff ff    	jb     0x506573
50668a:	83 fb 01             	cmp    $0x1,%ebx
50668d:	0f 82 e0 fe ff ff    	jb     0x506573
506693:	5f                   	pop    %edi
506694:	89 5e 20             	mov    %ebx,0x20(%esi)
506697:	b8 01 00 00 00       	mov    $0x1,%eax
50669c:	89 4e 24             	mov    %ecx,0x24(%esi)
50669f:	5e                   	pop    %esi
5066a0:	5d                   	pop    %ebp
5066a1:	5b                   	pop    %ebx
5066a2:	83 c4 34             	add    $0x34,%esp
5066a5:	c3                   	ret
5066a6:	85 c9                	test   %ecx,%ecx
5066a8:	77 0f                	ja     0x5066b9
5066aa:	0f 82 c3 fe ff ff    	jb     0x506573
5066b0:	83 fb 01             	cmp    $0x1,%ebx
5066b3:	0f 82 ba fe ff ff    	jb     0x506573
5066b9:	5f                   	pop    %edi
5066ba:	89 5e 28             	mov    %ebx,0x28(%esi)
5066bd:	b8 01 00 00 00       	mov    $0x1,%eax
5066c2:	89 4e 2c             	mov    %ecx,0x2c(%esi)
5066c5:	5e                   	pop    %esi
5066c6:	5d                   	pop    %ebp
5066c7:	5b                   	pop    %ebx
5066c8:	83 c4 34             	add    $0x34,%esp
5066cb:	c3                   	ret
5066cc:	5f                   	pop    %edi
5066cd:	5e                   	pop    %esi
5066ce:	5d                   	pop    %ebp
5066cf:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
5066d4:	5b                   	pop    %ebx
5066d5:	83 c4 34             	add    $0x34,%esp
5066d8:	c3                   	ret
5066d9:	0f 1f 00             	nopl   (%eax)
5066dc:	7d 65                	jge    0x506743
5066de:	50                   	push   %eax
5066df:	00 e0                	add    %ah,%al
5066e1:	65 50                	gs push %eax
5066e3:	00 26                	add    %ah,(%esi)
5066e5:	66 50                	push   %ax
5066e7:	00 5a 66             	add    %bl,0x66(%edx)
5066ea:	50                   	push   %eax
5066eb:	00 80 66 50 00 a6    	add    %al,-0x59ffaf9a(%eax)
5066f1:	66 50                	push   %ax
5066f3:	00 cc                	add    %cl,%ah
5066f5:	cc                   	int3
5066f6:	cc                   	int3
5066f7:	cc                   	int3
5066f8:	cc                   	int3
5066f9:	cc                   	int3
5066fa:	cc                   	int3
5066fb:	cc                   	int3
5066fc:	cc                   	int3
5066fd:	cc                   	int3
5066fe:	cc                   	int3
5066ff:	cc                   	int3
506700:	83 7c 24 0c 00       	cmpl   $0x0,0xc(%esp)
506705:	75 06                	jne    0x50670d
506707:	b8 01 00 00 00       	mov    $0x1,%eax
50670c:	c3                   	ret
50670d:	56                   	push   %esi
50670e:	8b 74 24 14          	mov    0x14(%esp),%esi
506712:	85 f6                	test   %esi,%esi
506714:	79 04                	jns    0x50671a
506716:	33 c0                	xor    %eax,%eax
506718:	5e                   	pop    %esi
506719:	c3                   	ret
50671a:	53                   	push   %ebx
50671b:	8b 5c 24 10          	mov    0x10(%esp),%ebx
50671f:	55                   	push   %ebp
506720:	8b 6c 24 10          	mov    0x10(%esp),%ebp
506724:	8b 45 00             	mov    0x0(%ebp),%eax
506727:	85 c0                	test   %eax,%eax
506729:	74 12                	je     0x50673d
50672b:	6a 64                	push   $0x64
50672d:	68 04 aa 62 00       	push   $0x62aa04
506732:	ff 33                	push   (%ebx)
506734:	50                   	push   %eax
506735:	e8 06 a1 fd ff       	call   0x4e0840
50673a:	83 c4 10             	add    $0x10,%esp
50673d:	85 f6                	test   %esi,%esi
50673f:	7e 16                	jle    0x506757
506741:	6a 67                	push   $0x67
506743:	68 04 aa 62 00       	push   $0x62aa04
506748:	56                   	push   %esi
506749:	ff 74 24 24          	push   0x24(%esp)
50674d:	e8 1e b9 fd ff       	call   0x4e2070
506752:	83 c4 10             	add    $0x10,%esp
506755:	eb 11                	jmp    0x506768
506757:	6a 69                	push   $0x69
506759:	68 04 aa 62 00       	push   $0x62aa04
50675e:	6a 01                	push   $0x1
506760:	e8 eb 9f fd ff       	call   0x4e0750
506765:	83 c4 0c             	add    $0xc,%esp
506768:	89 45 00             	mov    %eax,0x0(%ebp)
50676b:	85 c0                	test   %eax,%eax
50676d:	75 1b                	jne    0x50678a
50676f:	6a 6c                	push   $0x6c
506771:	68 04 aa 62 00       	push   $0x62aa04
506776:	6a 41                	push   $0x41
506778:	6a 6b                	push   $0x6b
50677a:	6a 34                	push   $0x34
50677c:	e8 ff 27 fd ff       	call   0x4d8f80
506781:	83 c4 14             	add    $0x14,%esp
506784:	33 c0                	xor    %eax,%eax
506786:	5d                   	pop    %ebp
506787:	5b                   	pop    %ebx
506788:	5e                   	pop    %esi
506789:	c3                   	ret
50678a:	5d                   	pop    %ebp
50678b:	89 33                	mov    %esi,(%ebx)
50678d:	b8 01 00 00 00       	mov    $0x1,%eax
506792:	5b                   	pop    %ebx
506793:	5e                   	pop    %esi
506794:	c3                   	ret
506795:	cc                   	int3
506796:	cc                   	int3
506797:	cc                   	int3
506798:	cc                   	int3
506799:	cc                   	int3
50679a:	cc                   	int3
50679b:	cc                   	int3
50679c:	cc                   	int3
50679d:	cc                   	int3
50679e:	cc                   	int3
50679f:	cc                   	int3
5067a0:	6a 28                	push   $0x28
5067a2:	68 d4 aa 62 00       	push   $0x62aad4
5067a7:	68 10 04 00 00       	push   $0x410
5067ac:	e8 8f a2 fd ff       	call   0x4e0a40
5067b1:	8b c8                	mov    %eax,%ecx
5067b3:	83 c4 0c             	add    $0xc,%esp
5067b6:	85 c9                	test   %ecx,%ecx
5067b8:	75 18                	jne    0x5067d2
5067ba:	6a 29                	push   $0x29
5067bc:	68 d4 aa 62 00       	push   $0x62aad4
5067c1:	6a 41                	push   $0x41
5067c3:	6a 6e                	push   $0x6e
5067c5:	6a 34                	push   $0x34
5067c7:	e8 b4 27 fd ff       	call   0x4d8f80
5067cc:	83 c4 14             	add    $0x14,%esp
5067cf:	33 c0                	xor    %eax,%eax
5067d1:	c3                   	ret
5067d2:	8b 44 24 04          	mov    0x4(%esp),%eax
5067d6:	89 48 14             	mov    %ecx,0x14(%eax)
5067d9:	b8 01 00 00 00       	mov    $0x1,%eax
5067de:	c3                   	ret
5067df:	cc                   	int3
5067e0:	8b 44 24 04          	mov    0x4(%esp),%eax
5067e4:	56                   	push   %esi
5067e5:	6a 34                	push   $0x34
5067e7:	68 d4 aa 62 00       	push   $0x62aad4
5067ec:	8b 70 14             	mov    0x14(%eax),%esi
5067ef:	ff 76 08             	push   0x8(%esi)
5067f2:	ff 76 04             	push   0x4(%esi)
5067f5:	e8 46 a0 fd ff       	call   0x4e0840
5067fa:	ff b6 0c 04 00 00    	push   0x40c(%esi)
506800:	8d 46 0c             	lea    0xc(%esi),%eax
506803:	50                   	push   %eax
506804:	e8 d7 b1 ef ff       	call   0x4019e0
506809:	6a 36                	push   $0x36
50680b:	68 d4 aa 62 00       	push   $0x62aad4
506810:	56                   	push   %esi
506811:	e8 6a 9f fd ff       	call   0x4e0780
506816:	83 c4 24             	add    $0x24,%esp
506819:	5e                   	pop    %esi
50681a:	c3                   	ret
50681b:	cc                   	int3
50681c:	cc                   	int3
50681d:	cc                   	int3
50681e:	cc                   	int3
50681f:	cc                   	int3
506820:	8b 44 24 04          	mov    0x4(%esp),%eax
506824:	56                   	push   %esi
506825:	8b 70 14             	mov    0x14(%eax),%esi
506828:	8b 44 24 0c          	mov    0xc(%esp),%eax
50682c:	2d 00 10 00 00       	sub    $0x1000,%eax
506831:	0f 84 c0 00 00 00    	je     0x5068f7
506837:	57                   	push   %edi
506838:	83 e8 01             	sub    $0x1,%eax
50683b:	74 54                	je     0x506891
50683d:	83 e8 01             	sub    $0x1,%eax
506840:	74 08                	je     0x50684a
506842:	5f                   	pop    %edi
506843:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
506848:	5e                   	pop    %esi
506849:	c3                   	ret
50684a:	8b 7c 24 14          	mov    0x14(%esp),%edi
50684e:	85 ff                	test   %edi,%edi
506850:	74 37                	je     0x506889
506852:	8b 4c 24 18          	mov    0x18(%esp),%ecx
506856:	85 c9                	test   %ecx,%ecx
506858:	74 2f                	je     0x506889
50685a:	85 ff                	test   %edi,%edi
50685c:	0f 88 90 00 00 00    	js     0x5068f2
506862:	8b 96 0c 04 00 00    	mov    0x40c(%esi),%edx
506868:	b8 00 04 00 00       	mov    $0x400,%eax
50686d:	2b c2                	sub    %edx,%eax
50686f:	3b f8                	cmp    %eax,%edi
506871:	7f 7f                	jg     0x5068f2
506873:	57                   	push   %edi
506874:	8d 46 0c             	lea    0xc(%esi),%eax
506877:	51                   	push   %ecx
506878:	03 c2                	add    %edx,%eax
50687a:	50                   	push   %eax
50687b:	e8 50 c5 0c 00       	call   0x5d2dd0
506880:	83 c4 0c             	add    $0xc,%esp
506883:	01 be 0c 04 00 00    	add    %edi,0x40c(%esi)
506889:	5f                   	pop    %edi
50688a:	b8 01 00 00 00       	mov    $0x1,%eax
50688f:	5e                   	pop    %esi
506890:	c3                   	ret
506891:	8b 7c 24 14          	mov    0x14(%esp),%edi
506895:	85 ff                	test   %edi,%edi
506897:	78 59                	js     0x5068f2
506899:	8b 46 04             	mov    0x4(%esi),%eax
50689c:	85 c0                	test   %eax,%eax
50689e:	74 13                	je     0x5068b3
5068a0:	6a 45                	push   $0x45
5068a2:	68 d4 aa 62 00       	push   $0x62aad4
5068a7:	ff 76 08             	push   0x8(%esi)
5068aa:	50                   	push   %eax
5068ab:	e8 90 9f fd ff       	call   0x4e0840
5068b0:	83 c4 10             	add    $0x10,%esp
5068b3:	ff b6 0c 04 00 00    	push   0x40c(%esi)
5068b9:	8d 46 0c             	lea    0xc(%esi),%eax
5068bc:	50                   	push   %eax
5068bd:	e8 1e b1 ef ff       	call   0x4019e0
5068c2:	6a 48                	push   $0x48
5068c4:	68 d4 aa 62 00       	push   $0x62aad4
5068c9:	57                   	push   %edi
5068ca:	ff 74 24 2c          	push   0x2c(%esp)
5068ce:	c7 86 0c 04 00 00 00 	movl   $0x0,0x40c(%esi)
5068d5:	00 00 00
5068d8:	e8 93 b7 fd ff       	call   0x4e2070
5068dd:	83 c4 18             	add    $0x18,%esp
5068e0:	89 46 04             	mov    %eax,0x4(%esi)
5068e3:	85 c0                	test   %eax,%eax
5068e5:	74 0b                	je     0x5068f2
5068e7:	89 7e 08             	mov    %edi,0x8(%esi)
5068ea:	b8 01 00 00 00       	mov    $0x1,%eax
5068ef:	5f                   	pop    %edi
5068f0:	5e                   	pop    %esi
5068f1:	c3                   	ret
5068f2:	5f                   	pop    %edi
5068f3:	33 c0                	xor    %eax,%eax
5068f5:	5e                   	pop    %esi
5068f6:	c3                   	ret
5068f7:	8b 44 24 14          	mov    0x14(%esp),%eax
5068fb:	89 06                	mov    %eax,(%esi)
5068fd:	b8 01 00 00 00       	mov    $0x1,%eax
506902:	5e                   	pop    %esi
506903:	c3                   	ret
506904:	cc                   	int3
506905:	cc                   	int3
506906:	cc                   	int3
506907:	cc                   	int3
506908:	cc                   	int3
506909:	cc                   	int3
50690a:	cc                   	int3
50690b:	cc                   	int3
50690c:	cc                   	int3
50690d:	cc                   	int3
50690e:	cc                   	int3
50690f:	cc                   	int3
506910:	57                   	push   %edi
506911:	8b 7c 24 10          	mov    0x10(%esp),%edi
506915:	85 ff                	test   %edi,%edi
506917:	75 19                	jne    0x506932
506919:	6a 61                	push   $0x61
50691b:	68 d4 aa 62 00       	push   $0x62aad4
506920:	6a 66                	push   $0x66
506922:	6a 64                	push   $0x64
506924:	6a 34                	push   $0x34
506926:	e8 55 26 fd ff       	call   0x4d8f80
50692b:	83 c4 14             	add    $0x14,%esp
50692e:	33 c0                	xor    %eax,%eax
506930:	5f                   	pop    %edi
506931:	c3                   	ret
506932:	8b 54 24 0c          	mov    0xc(%esp),%edx
506936:	b9 ec aa 62 00       	mov    $0x62aaec,%ecx
50693b:	8b c2                	mov    %edx,%eax
50693d:	53                   	push   %ebx
50693e:	66 90                	xchg   %ax,%ax
506940:	8a 18                	mov    (%eax),%bl
506942:	3a 19                	cmp    (%ecx),%bl
506944:	75 1a                	jne    0x506960
506946:	84 db                	test   %bl,%bl
506948:	74 12                	je     0x50695c
50694a:	8a 58 01             	mov    0x1(%eax),%bl
50694d:	3a 59 01             	cmp    0x1(%ecx),%bl
506950:	75 0e                	jne    0x506960
506952:	83 c0 02             	add    $0x2,%eax
506955:	83 c1 02             	add    $0x2,%ecx
506958:	84 db                	test   %bl,%bl
50695a:	75 e4                	jne    0x506940
50695c:	33 c0                	xor    %eax,%eax
50695e:	eb 05                	jmp    0x506965
506960:	1b c0                	sbb    %eax,%eax
506962:	83 c8 01             	or     $0x1,%eax
506965:	85 c0                	test   %eax,%eax
506967:	75 3b                	jne    0x5069a4