47e6ec:	33 db                	xor    %ebx,%ebx
47e6ee:	66 39 58 02          	cmp    %bx,0x2(%eax)
47e6f2:	0f 94 45 ff          	sete   -0x1(%ebp)
47e6f6:	e8 7e 03 00 00       	call   0x47ea79
47e6fb:	8b 35 98 b8 4b 00    	mov    0x4bb898,%esi
47e701:	85 f6                	test   %esi,%esi
47e703:	0f 85 81 00 00 00    	jne    0x47e78a
47e709:	a1 94 b8 4b 00       	mov    0x4bb894,%eax
47e70e:	39 5d 0c             	cmp    %ebx,0xc(%ebp)
47e711:	74 18                	je     0x47e72b
47e713:	85 c0                	test   %eax,%eax
47e715:	74 14                	je     0x47e72b
47e717:	e8 86 eb fe ff       	call   0x46d2a2
47e71c:	85 c0                	test   %eax,%eax
47e71e:	0f 84 a3 01 00 00    	je     0x47e8c7
47e724:	e8 50 03 00 00       	call   0x47ea79
47e729:	eb 51                	jmp    0x47e77c
47e72b:	38 5d ff             	cmp    %bl,-0x1(%ebp)
47e72e:	0f 85 a1 01 00 00    	jne    0x47e8d5
47e734:	85 c0                	test   %eax,%eax
47e736:	75 2d                	jne    0x47e765
47e738:	6a 04                	push   $0x4
47e73a:	6a 01                	push   $0x1
47e73c:	e8 12 3b ff ff       	call   0x472253
47e741:	53                   	push   %ebx
47e742:	a3 94 b8 4b 00       	mov    %eax,0x4bb894
47e747:	e8 ed 3b ff ff       	call   0x472339
47e74c:	83 c4 0c             	add    $0xc,%esp
47e74f:	39 1d 94 b8 4b 00    	cmp    %ebx,0x4bb894
47e755:	0f 84 77 01 00 00    	je     0x47e8d2
47e75b:	8b 35 98 b8 4b 00    	mov    0x4bb898,%esi
47e761:	85 f6                	test   %esi,%esi
47e763:	75 25                	jne    0x47e78a
47e765:	6a 04                	push   $0x4
47e767:	6a 01                	push   $0x1
47e769:	e8 e5 3a ff ff       	call   0x472253
47e76e:	53                   	push   %ebx
47e76f:	a3 98 b8 4b 00       	mov    %eax,0x4bb898
47e774:	e8 c0 3b ff ff       	call   0x472339
47e779:	83 c4 0c             	add    $0xc,%esp
47e77c:	8b 35 98 b8 4b 00    	mov    0x4bb898,%esi
47e782:	85 f6                	test   %esi,%esi
47e784:	0f 84 48 01 00 00    	je     0x47e8d2
47e78a:	8b 4d f4             	mov    -0xc(%ebp),%ecx
47e78d:	8b c7                	mov    %edi,%eax
47e78f:	2b c8                	sub    %eax,%ecx
47e791:	d1 f9                	sar    $1,%ecx
47e793:	51                   	push   %ecx
47e794:	50                   	push   %eax
47e795:	89 4d f4             	mov    %ecx,-0xc(%ebp)
47e798:	e8 4a 03 00 00       	call   0x47eae7
47e79d:	89 45 f8             	mov    %eax,-0x8(%ebp)
47e7a0:	59                   	pop    %ecx
47e7a1:	59                   	pop    %ecx
47e7a2:	85 c0                	test   %eax,%eax
47e7a4:	78 48                	js     0x47e7ee
47e7a6:	39 1e                	cmp    %ebx,(%esi)
47e7a8:	74 44                	je     0x47e7ee
47e7aa:	ff 34 86             	push   (%esi,%eax,4)
47e7ad:	e8 87 3b ff ff       	call   0x472339
47e7b2:	59                   	pop    %ecx
47e7b3:	8b 4d f8             	mov    -0x8(%ebp),%ecx
47e7b6:	38 5d ff             	cmp    %bl,-0x1(%ebp)
47e7b9:	75 12                	jne    0x47e7cd
47e7bb:	8b 45 08             	mov    0x8(%ebp),%eax
47e7be:	8b fb                	mov    %ebx,%edi
47e7c0:	89 04 8e             	mov    %eax,(%esi,%ecx,4)
47e7c3:	eb 7f                	jmp    0x47e844
47e7c5:	8b 44 8e 04          	mov    0x4(%esi,%ecx,4),%eax
47e7c9:	89 04 8e             	mov    %eax,(%esi,%ecx,4)
47e7cc:	41                   	inc    %ecx
47e7cd:	39 1c 8e             	cmp    %ebx,(%esi,%ecx,4)
47e7d0:	75 f3                	jne    0x47e7c5
47e7d2:	6a 04                	push   $0x4
47e7d4:	51                   	push   %ecx
47e7d5:	56                   	push   %esi
47e7d6:	e8 94 19 ff ff       	call   0x47016f
47e7db:	53                   	push   %ebx
47e7dc:	8b f0                	mov    %eax,%esi
47e7de:	e8 56 3b ff ff       	call   0x472339
47e7e3:	83 c4 10             	add    $0x10,%esp
47e7e6:	8b c7                	mov    %edi,%eax
47e7e8:	85 f6                	test   %esi,%esi
47e7ea:	74 58                	je     0x47e844
47e7ec:	eb 50                	jmp    0x47e83e
47e7ee:	38 5d ff             	cmp    %bl,-0x1(%ebp)
47e7f1:	0f 85 de 00 00 00    	jne    0x47e8d5
47e7f7:	f7 d8                	neg    %eax
47e7f9:	89 45 f8             	mov    %eax,-0x8(%ebp)
47e7fc:	8d 48 02             	lea    0x2(%eax),%ecx
47e7ff:	3b c8                	cmp    %eax,%ecx
47e801:	0f 82 cb 00 00 00    	jb     0x47e8d2
47e807:	81 f9 ff ff ff 3f    	cmp    $0x3fffffff,%ecx
47e80d:	0f 83 bf 00 00 00    	jae    0x47e8d2
47e813:	6a 04                	push   $0x4
47e815:	51                   	push   %ecx
47e816:	56                   	push   %esi
47e817:	e8 53 19 ff ff       	call   0x47016f
47e81c:	53                   	push   %ebx
47e81d:	8b f0                	mov    %eax,%esi
47e81f:	e8 15 3b ff ff       	call   0x472339
47e824:	83 c4 10             	add    $0x10,%esp
47e827:	85 f6                	test   %esi,%esi
47e829:	0f 84 a3 00 00 00    	je     0x47e8d2
47e82f:	8b 4d f8             	mov    -0x8(%ebp),%ecx
47e832:	8b fb                	mov    %ebx,%edi
47e834:	8b 45 08             	mov    0x8(%ebp),%eax
47e837:	89 04 8e             	mov    %eax,(%esi,%ecx,4)
47e83a:	89 5c 8e 04          	mov    %ebx,0x4(%esi,%ecx,4)
47e83e:	89 35 98 b8 4b 00    	mov    %esi,0x4bb898
47e844:	39 5d 0c             	cmp    %ebx,0xc(%ebp)
47e847:	0f 84 88 00 00 00    	je     0x47e8d5
47e84d:	8b c8                	mov    %eax,%ecx
47e84f:	8d 51 02             	lea    0x2(%ecx),%edx
47e852:	66 8b 01             	mov    (%ecx),%ax
47e855:	83 c1 02             	add    $0x2,%ecx
47e858:	66 3b c3             	cmp    %bx,%ax
47e85b:	75 f5                	jne    0x47e852
47e85d:	2b ca                	sub    %edx,%ecx
47e85f:	d1 f9                	sar    $1,%ecx
47e861:	6a 02                	push   $0x2
47e863:	8d 41 02             	lea    0x2(%ecx),%eax
47e866:	50                   	push   %eax
47e867:	89 45 f8             	mov    %eax,-0x8(%ebp)
47e86a:	e8 e4 39 ff ff       	call   0x472253
47e86f:	8b f0                	mov    %eax,%esi
47e871:	59                   	pop    %ecx
47e872:	59                   	pop    %ecx
47e873:	85 f6                	test   %esi,%esi
47e875:	74 47                	je     0x47e8be
47e877:	8b 45 08             	mov    0x8(%ebp),%eax
47e87a:	50                   	push   %eax
47e87b:	ff 75 f8             	push   -0x8(%ebp)
47e87e:	56                   	push   %esi
47e87f:	e8 e3 95 fe ff       	call   0x467e67
47e884:	83 c4 0c             	add    $0xc,%esp
47e887:	85 c0                	test   %eax,%eax
47e889:	75 5a                	jne    0x47e8e5
47e88b:	8b 45 f4             	mov    -0xc(%ebp),%eax
47e88e:	40                   	inc    %eax
47e88f:	8d 0c 46             	lea    (%esi,%eax,2),%ecx
47e892:	33 c0                	xor    %eax,%eax
47e894:	66 89 41 fe          	mov    %ax,-0x2(%ecx)
47e898:	0f b6 45 ff          	movzbl -0x1(%ebp),%eax
47e89c:	f7 d8                	neg    %eax
47e89e:	1b c0                	sbb    %eax,%eax
47e8a0:	f7 d0                	not    %eax
47e8a2:	23 c1                	and    %ecx,%eax
47e8a4:	50                   	push   %eax
47e8a5:	56                   	push   %esi
47e8a6:	ff 15 1c 40 49 00    	call   *0x49401c
47e8ac:	85 c0                	test   %eax,%eax
47e8ae:	75 0e                	jne    0x47e8be
47e8b0:	e8 7a e5 fc ff       	call   0x44ce2f
47e8b5:	83 cb ff             	or     $0xffffffff,%ebx
47e8b8:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
47e8be:	56                   	push   %esi
47e8bf:	e8 75 3a ff ff       	call   0x472339
47e8c4:	59                   	pop    %ecx
47e8c5:	eb 0e                	jmp    0x47e8d5
47e8c7:	e8 63 e5 fc ff       	call   0x44ce2f
47e8cc:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
47e8d2:	83 cb ff             	or     $0xffffffff,%ebx
47e8d5:	57                   	push   %edi
47e8d6:	e8 5e 3a ff ff       	call   0x472339
47e8db:	59                   	pop    %ecx
47e8dc:	5f                   	pop    %edi
47e8dd:	8b c3                	mov    %ebx,%eax
47e8df:	5e                   	pop    %esi
47e8e0:	5b                   	pop    %ebx
47e8e1:	8b e5                	mov    %ebp,%esp
47e8e3:	5d                   	pop    %ebp
47e8e4:	c3                   	ret
47e8e5:	53                   	push   %ebx
47e8e6:	53                   	push   %ebx
47e8e7:	53                   	push   %ebx
47e8e8:	53                   	push   %ebx
47e8e9:	53                   	push   %ebx
47e8ea:	e8 14 e4 fc ff       	call   0x44cd03
47e8ef:	cc                   	int3
47e8f0:	8b ff                	mov    %edi,%edi
47e8f2:	55                   	push   %ebp
47e8f3:	8b ec                	mov    %esp,%ebp
47e8f5:	51                   	push   %ecx
47e8f6:	57                   	push   %edi
47e8f7:	8b 7d 08             	mov    0x8(%ebp),%edi
47e8fa:	85 ff                	test   %edi,%edi
47e8fc:	75 07                	jne    0x47e905
47e8fe:	33 c0                	xor    %eax,%eax
47e900:	e9 85 00 00 00       	jmp    0x47e98a
47e905:	33 c9                	xor    %ecx,%ecx
47e907:	8b c7                	mov    %edi,%eax
47e909:	39 0f                	cmp    %ecx,(%edi)
47e90b:	74 09                	je     0x47e916
47e90d:	8d 40 04             	lea    0x4(%eax),%eax
47e910:	41                   	inc    %ecx
47e911:	83 38 00             	cmpl   $0x0,(%eax)
47e914:	75 f7                	jne    0x47e90d
47e916:	56                   	push   %esi
47e917:	8d 41 01             	lea    0x1(%ecx),%eax
47e91a:	6a 04                	push   $0x4
47e91c:	50                   	push   %eax
47e91d:	e8 31 39 ff ff       	call   0x472253
47e922:	8b f0                	mov    %eax,%esi
47e924:	59                   	pop    %ecx
47e925:	59                   	pop    %ecx
47e926:	85 f6                	test   %esi,%esi
47e928:	74 65                	je     0x47e98f
47e92a:	83 3f 00             	cmpl   $0x0,(%edi)
47e92d:	74 50                	je     0x47e97f
47e92f:	53                   	push   %ebx
47e930:	8b de                	mov    %esi,%ebx
47e932:	2b df                	sub    %edi,%ebx
47e934:	8b 0f                	mov    (%edi),%ecx
47e936:	8d 51 01             	lea    0x1(%ecx),%edx
47e939:	8a 01                	mov    (%ecx),%al
47e93b:	41                   	inc    %ecx
47e93c:	84 c0                	test   %al,%al
47e93e:	75 f9                	jne    0x47e939
47e940:	2b ca                	sub    %edx,%ecx
47e942:	6a 01                	push   $0x1
47e944:	8d 41 01             	lea    0x1(%ecx),%eax
47e947:	50                   	push   %eax
47e948:	89 45 fc             	mov    %eax,-0x4(%ebp)
47e94b:	e8 03 39 ff ff       	call   0x472253
47e950:	6a 00                	push   $0x0
47e952:	89 04 3b             	mov    %eax,(%ebx,%edi,1)
47e955:	e8 df 39 ff ff       	call   0x472339
47e95a:	83 c4 0c             	add    $0xc,%esp
47e95d:	83 3c 3b 00          	cmpl   $0x0,(%ebx,%edi,1)
47e961:	74 2c                	je     0x47e98f
47e963:	ff 37                	push   (%edi)
47e965:	ff 75 fc             	push   -0x4(%ebp)
47e968:	ff 34 3b             	push   (%ebx,%edi,1)
47e96b:	e8 c6 18 ff ff       	call   0x470236
47e970:	83 c4 0c             	add    $0xc,%esp
47e973:	85 c0                	test   %eax,%eax
47e975:	75 1d                	jne    0x47e994
47e977:	83 c7 04             	add    $0x4,%edi
47e97a:	39 07                	cmp    %eax,(%edi)
47e97c:	75 b6                	jne    0x47e934
47e97e:	5b                   	pop    %ebx
47e97f:	6a 00                	push   $0x0
47e981:	e8 b3 39 ff ff       	call   0x472339
47e986:	59                   	pop    %ecx
47e987:	8b c6                	mov    %esi,%eax
47e989:	5e                   	pop    %esi
47e98a:	5f                   	pop    %edi
47e98b:	8b e5                	mov    %ebp,%esp
47e98d:	5d                   	pop    %ebp
47e98e:	c3                   	ret
47e98f:	e8 3f b0 fe ff       	call   0x4699d3
47e994:	33 c0                	xor    %eax,%eax
47e996:	50                   	push   %eax
47e997:	50                   	push   %eax
47e998:	50                   	push   %eax
47e999:	50                   	push   %eax
47e99a:	50                   	push   %eax
47e99b:	e8 63 e3 fc ff       	call   0x44cd03
47e9a0:	cc                   	int3
47e9a1:	8b ff                	mov    %edi,%edi
47e9a3:	55                   	push   %ebp
47e9a4:	8b ec                	mov    %esp,%ebp
47e9a6:	51                   	push   %ecx
47e9a7:	51                   	push   %ecx
47e9a8:	57                   	push   %edi
47e9a9:	8b 7d 08             	mov    0x8(%ebp),%edi
47e9ac:	85 ff                	test   %edi,%edi
47e9ae:	75 07                	jne    0x47e9b7
47e9b0:	33 c0                	xor    %eax,%eax
47e9b2:	e9 91 00 00 00       	jmp    0x47ea48
47e9b7:	53                   	push   %ebx
47e9b8:	33 db                	xor    %ebx,%ebx
47e9ba:	8b c7                	mov    %edi,%eax
47e9bc:	8b cb                	mov    %ebx,%ecx
47e9be:	89 5d fc             	mov    %ebx,-0x4(%ebp)
47e9c1:	56                   	push   %esi
47e9c2:	39 1f                	cmp    %ebx,(%edi)
47e9c4:	74 08                	je     0x47e9ce
47e9c6:	8d 40 04             	lea    0x4(%eax),%eax
47e9c9:	41                   	inc    %ecx
47e9ca:	39 18                	cmp    %ebx,(%eax)
47e9cc:	75 f8                	jne    0x47e9c6
47e9ce:	8d 41 01             	lea    0x1(%ecx),%eax
47e9d1:	6a 04                	push   $0x4
47e9d3:	50                   	push   %eax
47e9d4:	e8 7a 38 ff ff       	call   0x472253
47e9d9:	8b f0                	mov    %eax,%esi
47e9db:	59                   	pop    %ecx
47e9dc:	59                   	pop    %ecx
47e9dd:	85 f6                	test   %esi,%esi
47e9df:	74 6c                	je     0x47ea4d
47e9e1:	39 1f                	cmp    %ebx,(%edi)
47e9e3:	74 58                	je     0x47ea3d
47e9e5:	8b de                	mov    %esi,%ebx
47e9e7:	2b df                	sub    %edi,%ebx
47e9e9:	8b 0f                	mov    (%edi),%ecx
47e9eb:	8d 51 02             	lea    0x2(%ecx),%edx
47e9ee:	66 8b 01             	mov    (%ecx),%ax
47e9f1:	83 c1 02             	add    $0x2,%ecx
47e9f4:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
47e9f8:	75 f4                	jne    0x47e9ee
47e9fa:	2b ca                	sub    %edx,%ecx
47e9fc:	d1 f9                	sar    $1,%ecx
47e9fe:	6a 02                	push   $0x2
47ea00:	8d 41 01             	lea    0x1(%ecx),%eax
47ea03:	50                   	push   %eax
47ea04:	89 45 f8             	mov    %eax,-0x8(%ebp)
47ea07:	e8 47 38 ff ff       	call   0x472253
47ea0c:	89 04 3b             	mov    %eax,(%ebx,%edi,1)
47ea0f:	33 c0                	xor    %eax,%eax
47ea11:	50                   	push   %eax
47ea12:	e8 22 39 ff ff       	call   0x472339
47ea17:	83 c4 0c             	add    $0xc,%esp
47ea1a:	83 3c 3b 00          	cmpl   $0x0,(%ebx,%edi,1)
47ea1e:	74 2d                	je     0x47ea4d
47ea20:	ff 37                	push   (%edi)
47ea22:	ff 75 f8             	push   -0x8(%ebp)
47ea25:	ff 34 3b             	push   (%ebx,%edi,1)
47ea28:	e8 3a 94 fe ff       	call   0x467e67
47ea2d:	83 c4 0c             	add    $0xc,%esp
47ea30:	85 c0                	test   %eax,%eax
47ea32:	75 1e                	jne    0x47ea52
47ea34:	83 c7 04             	add    $0x4,%edi
47ea37:	39 07                	cmp    %eax,(%edi)
47ea39:	75 ae                	jne    0x47e9e9
47ea3b:	33 db                	xor    %ebx,%ebx
47ea3d:	53                   	push   %ebx
47ea3e:	e8 f6 38 ff ff       	call   0x472339
47ea43:	59                   	pop    %ecx
47ea44:	8b c6                	mov    %esi,%eax
47ea46:	5e                   	pop    %esi
47ea47:	5b                   	pop    %ebx
47ea48:	5f                   	pop    %edi
47ea49:	8b e5                	mov    %ebp,%esp
47ea4b:	5d                   	pop    %ebp
47ea4c:	c3                   	ret
47ea4d:	e8 81 af fe ff       	call   0x4699d3
47ea52:	33 c0                	xor    %eax,%eax
47ea54:	50                   	push   %eax
47ea55:	50                   	push   %eax
47ea56:	50                   	push   %eax
47ea57:	50                   	push   %eax
47ea58:	50                   	push   %eax
47ea59:	e8 a5 e2 fc ff       	call   0x44cd03
47ea5e:	cc                   	int3
47ea5f:	a1 94 b8 4b 00       	mov    0x4bb894,%eax
47ea64:	3b 05 a0 b8 4b 00    	cmp    0x4bb8a0,%eax
47ea6a:	75 0c                	jne    0x47ea78
47ea6c:	50                   	push   %eax