48eb97:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
48eb9e:	59                   	pop    %ecx
48eb9f:	5f                   	pop    %edi
48eba0:	5e                   	pop    %esi
48eba1:	5b                   	pop    %ebx
48eba2:	c9                   	leave
48eba3:	c3                   	ret
48eba4:	84 db                	test   %bl,%bl
48eba6:	74 08                	je     0x48ebb0
48eba8:	6a 03                	push   $0x3
48ebaa:	e8 02 33 ff ff       	call   0x481eb1
48ebaf:	59                   	pop    %ecx
48ebb0:	6a 03                	push   $0x3
48ebb2:	e8 72 4c ff ff       	call   0x483829
48ebb7:	cc                   	int3
48ebb8:	8b ff                	mov    %edi,%edi
48ebba:	55                   	push   %ebp
48ebbb:	8b ec                	mov    %esp,%ebp
48ebbd:	8b 45 08             	mov    0x8(%ebp),%eax
48ebc0:	b9 ac de 00 00       	mov    $0xdeac,%ecx
48ebc5:	3b c1                	cmp    %ecx,%eax
48ebc7:	77 46                	ja     0x48ec0f
48ebc9:	74 26                	je     0x48ebf1
48ebcb:	b9 33 c4 00 00       	mov    $0xc433,%ecx
48ebd0:	3b c1                	cmp    %ecx,%eax
48ebd2:	77 21                	ja     0x48ebf5
48ebd4:	74 1b                	je     0x48ebf1
48ebd6:	83 e8 2a             	sub    $0x2a,%eax
48ebd9:	74 16                	je     0x48ebf1
48ebdb:	2d 02 c4 00 00       	sub    $0xc402,%eax
48ebe0:	74 0f                	je     0x48ebf1
48ebe2:	83 e8 01             	sub    $0x1,%eax
48ebe5:	74 0a                	je     0x48ebf1
48ebe7:	83 e8 01             	sub    $0x1,%eax
48ebea:	74 05                	je     0x48ebf1
48ebec:	83 e8 03             	sub    $0x3,%eax
48ebef:	75 52                	jne    0x48ec43
48ebf1:	33 c0                	xor    %eax,%eax
48ebf3:	5d                   	pop    %ebp
48ebf4:	c3                   	ret
48ebf5:	2d 35 c4 00 00       	sub    $0xc435,%eax
48ebfa:	74 f5                	je     0x48ebf1
48ebfc:	2d 63 12 00 00       	sub    $0x1263,%eax
48ec01:	74 45                	je     0x48ec48
48ec03:	2d 12 08 00 00       	sub    $0x812,%eax
48ec08:	74 e7                	je     0x48ebf1
48ec0a:	83 e8 01             	sub    $0x1,%eax
48ec0d:	eb e0                	jmp    0x48ebef
48ec0f:	b9 b1 de 00 00       	mov    $0xdeb1,%ecx
48ec14:	3b c1                	cmp    %ecx,%eax
48ec16:	77 13                	ja     0x48ec2b
48ec18:	74 d7                	je     0x48ebf1
48ec1a:	2d ad de 00 00       	sub    $0xdead,%eax
48ec1f:	74 d0                	je     0x48ebf1
48ec21:	83 e8 01             	sub    $0x1,%eax
48ec24:	74 cb                	je     0x48ebf1
48ec26:	83 e8 01             	sub    $0x1,%eax
48ec29:	eb dd                	jmp    0x48ec08
48ec2b:	2d b2 de 00 00       	sub    $0xdeb2,%eax
48ec30:	74 bf                	je     0x48ebf1
48ec32:	83 e8 01             	sub    $0x1,%eax
48ec35:	74 ba                	je     0x48ebf1
48ec37:	2d 35 1f 00 00       	sub    $0x1f35,%eax
48ec3c:	74 b3                	je     0x48ebf1
48ec3e:	83 e8 01             	sub    $0x1,%eax
48ec41:	74 05                	je     0x48ec48
48ec43:	8b 45 0c             	mov    0xc(%ebp),%eax
48ec46:	5d                   	pop    %ebp
48ec47:	c3                   	ret
48ec48:	8b 45 0c             	mov    0xc(%ebp),%eax
48ec4b:	83 e0 08             	and    $0x8,%eax
48ec4e:	5d                   	pop    %ebp
48ec4f:	c3                   	ret
48ec50:	8b ff                	mov    %edi,%edi
48ec52:	55                   	push   %ebp
48ec53:	8b ec                	mov    %esp,%ebp
48ec55:	ff 75 1c             	push   0x1c(%ebp)
48ec58:	ff 75 18             	push   0x18(%ebp)
48ec5b:	ff 75 14             	push   0x14(%ebp)
48ec5e:	ff 75 10             	push   0x10(%ebp)
48ec61:	ff 75 0c             	push   0xc(%ebp)
48ec64:	ff 75 08             	push   0x8(%ebp)
48ec67:	e8 4c ff ff ff       	call   0x48ebb8
48ec6c:	59                   	pop    %ecx
48ec6d:	59                   	pop    %ecx
48ec6e:	50                   	push   %eax
48ec6f:	ff 75 08             	push   0x8(%ebp)
48ec72:	ff 15 6c e0 49 00    	call   *0x49e06c
48ec78:	5d                   	pop    %ebp
48ec79:	c3                   	ret
48ec7a:	8b ff                	mov    %edi,%edi
48ec7c:	55                   	push   %ebp
48ec7d:	8b ec                	mov    %esp,%ebp
48ec7f:	8b 45 08             	mov    0x8(%ebp),%eax
48ec82:	b9 ac de 00 00       	mov    $0xdeac,%ecx
48ec87:	3b c1                	cmp    %ecx,%eax
48ec89:	77 3d                	ja     0x48ecc8
48ec8b:	74 79                	je     0x48ed06
48ec8d:	b9 33 c4 00 00       	mov    $0xc433,%ecx
48ec92:	3b c1                	cmp    %ecx,%eax
48ec94:	77 1d                	ja     0x48ecb3
48ec96:	74 6e                	je     0x48ed06
48ec98:	83 e8 2a             	sub    $0x2a,%eax
48ec9b:	74 69                	je     0x48ed06
48ec9d:	2d 02 c4 00 00       	sub    $0xc402,%eax
48eca2:	74 62                	je     0x48ed06
48eca4:	83 e8 01             	sub    $0x1,%eax
48eca7:	74 5d                	je     0x48ed06
48eca9:	83 e8 01             	sub    $0x1,%eax
48ecac:	74 58                	je     0x48ed06
48ecae:	83 e8 03             	sub    $0x3,%eax
48ecb1:	eb 47                	jmp    0x48ecfa
48ecb3:	2d 35 c4 00 00       	sub    $0xc435,%eax
48ecb8:	74 4c                	je     0x48ed06
48ecba:	2d 63 12 00 00       	sub    $0x1263,%eax
48ecbf:	74 45                	je     0x48ed06
48ecc1:	2d 12 08 00 00       	sub    $0x812,%eax
48ecc6:	eb 2d                	jmp    0x48ecf5
48ecc8:	b9 b1 de 00 00       	mov    $0xdeb1,%ecx
48eccd:	3b c1                	cmp    %ecx,%eax
48eccf:	77 13                	ja     0x48ece4
48ecd1:	74 33                	je     0x48ed06
48ecd3:	2d ad de 00 00       	sub    $0xdead,%eax
48ecd8:	74 2c                	je     0x48ed06
48ecda:	83 e8 01             	sub    $0x1,%eax
48ecdd:	74 27                	je     0x48ed06
48ecdf:	83 e8 01             	sub    $0x1,%eax
48ece2:	eb 11                	jmp    0x48ecf5
48ece4:	2d b2 de 00 00       	sub    $0xdeb2,%eax
48ece9:	74 1b                	je     0x48ed06
48eceb:	83 e8 01             	sub    $0x1,%eax
48ecee:	74 16                	je     0x48ed06
48ecf0:	2d 35 1f 00 00       	sub    $0x1f35,%eax
48ecf5:	74 0f                	je     0x48ed06
48ecf7:	83 e8 01             	sub    $0x1,%eax
48ecfa:	74 0a                	je     0x48ed06
48ecfc:	8b 45 0c             	mov    0xc(%ebp),%eax
48ecff:	25 7f ff ff ff       	and    $0xffffff7f,%eax
48ed04:	5d                   	pop    %ebp
48ed05:	c3                   	ret
48ed06:	33 c0                	xor    %eax,%eax
48ed08:	5d                   	pop    %ebp
48ed09:	c3                   	ret
48ed0a:	8b ff                	mov    %edi,%edi
48ed0c:	55                   	push   %ebp
48ed0d:	8b ec                	mov    %esp,%ebp
48ed0f:	8b 55 08             	mov    0x8(%ebp),%edx
48ed12:	53                   	push   %ebx
48ed13:	56                   	push   %esi
48ed14:	57                   	push   %edi
48ed15:	81 fa e8 fd 00 00    	cmp    $0xfde8,%edx
48ed1b:	74 0c                	je     0x48ed29
48ed1d:	81 fa e9 fd 00 00    	cmp    $0xfde9,%edx
48ed23:	74 04                	je     0x48ed29
48ed25:	32 db                	xor    %bl,%bl
48ed27:	eb 02                	jmp    0x48ed2b
48ed29:	b3 01                	mov    $0x1,%bl
48ed2b:	ff 75 0c             	push   0xc(%ebp)
48ed2e:	52                   	push   %edx
48ed2f:	e8 46 ff ff ff       	call   0x48ec7a
48ed34:	8b 7d 24             	mov    0x24(%ebp),%edi
48ed37:	59                   	pop    %ecx
48ed38:	59                   	pop    %ecx
48ed39:	0f b6 cb             	movzbl %bl,%ecx
48ed3c:	f7 d9                	neg    %ecx
48ed3e:	0f b6 f3             	movzbl %bl,%esi
48ed41:	1b c9                	sbb    %ecx,%ecx
48ed43:	f7 d1                	not    %ecx
48ed45:	23 cf                	and    %edi,%ecx
48ed47:	f7 de                	neg    %esi
48ed49:	1b f6                	sbb    %esi,%esi
48ed4b:	f7 d6                	not    %esi
48ed4d:	23 75 20             	and    0x20(%ebp),%esi
48ed50:	84 db                	test   %bl,%bl
48ed52:	74 07                	je     0x48ed5b
48ed54:	85 ff                	test   %edi,%edi
48ed56:	74 03                	je     0x48ed5b
48ed58:	83 27 00             	andl   $0x0,(%edi)
48ed5b:	51                   	push   %ecx
48ed5c:	56                   	push   %esi
48ed5d:	ff 75 1c             	push   0x1c(%ebp)
48ed60:	ff 75 18             	push   0x18(%ebp)
48ed63:	ff 75 14             	push   0x14(%ebp)
48ed66:	ff 75 10             	push   0x10(%ebp)
48ed69:	50                   	push   %eax
48ed6a:	52                   	push   %edx
48ed6b:	ff 15 4c e0 49 00    	call   *0x49e04c
48ed71:	5f                   	pop    %edi
48ed72:	5e                   	pop    %esi
48ed73:	5b                   	pop    %ebx
48ed74:	5d                   	pop    %ebp
48ed75:	c3                   	ret
48ed76:	cc                   	int3
48ed77:	cc                   	int3
48ed78:	cc                   	int3
48ed79:	cc                   	int3
48ed7a:	cc                   	int3
48ed7b:	cc                   	int3
48ed7c:	cc                   	int3
48ed7d:	cc                   	int3
48ed7e:	cc                   	int3
48ed7f:	cc                   	int3
48ed80:	8b ff                	mov    %edi,%edi
48ed82:	55                   	push   %ebp
48ed83:	8b ec                	mov    %esp,%ebp
48ed85:	8b 45 0c             	mov    0xc(%ebp),%eax
48ed88:	3b 45 08             	cmp    0x8(%ebp),%eax
48ed8b:	76 05                	jbe    0x48ed92
48ed8d:	83 c8 ff             	or     $0xffffffff,%eax
48ed90:	5d                   	pop    %ebp
48ed91:	c3                   	ret
48ed92:	1b c0                	sbb    %eax,%eax
48ed94:	f7 d8                	neg    %eax
48ed96:	5d                   	pop    %ebp
48ed97:	c3                   	ret
48ed98:	8b ff                	mov    %edi,%edi
48ed9a:	55                   	push   %ebp
48ed9b:	8b ec                	mov    %esp,%ebp
48ed9d:	83 ec 30             	sub    $0x30,%esp
48eda0:	a1 14 40 4c 00       	mov    0x4c4014,%eax
48eda5:	33 c5                	xor    %ebp,%eax
48eda7:	89 45 fc             	mov    %eax,-0x4(%ebp)
48edaa:	8b 45 0c             	mov    0xc(%ebp),%eax
48edad:	89 45 d0             	mov    %eax,-0x30(%ebp)
48edb0:	56                   	push   %esi
48edb1:	8b 75 08             	mov    0x8(%ebp),%esi
48edb4:	85 c0                	test   %eax,%eax
48edb6:	75 16                	jne    0x48edce
48edb8:	e8 78 b1 fe ff       	call   0x479f35
48edbd:	6a 16                	push   $0x16
48edbf:	5e                   	pop    %esi
48edc0:	89 30                	mov    %esi,(%eax)
48edc2:	e8 5a a8 fe ff       	call   0x479621
48edc7:	8b c6                	mov    %esi,%eax
48edc9:	e9 68 01 00 00       	jmp    0x48ef36
48edce:	53                   	push   %ebx
48edcf:	33 db                	xor    %ebx,%ebx
48edd1:	57                   	push   %edi
48edd2:	89 18                	mov    %ebx,(%eax)
48edd4:	8b fb                	mov    %ebx,%edi
48edd6:	8b 06                	mov    (%esi),%eax
48edd8:	8b d3                	mov    %ebx,%edx
48edda:	89 5d d8             	mov    %ebx,-0x28(%ebp)
48eddd:	89 7d dc             	mov    %edi,-0x24(%ebp)
48ede0:	89 55 e0             	mov    %edx,-0x20(%ebp)
48ede3:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
48ede6:	85 c0                	test   %eax,%eax
48ede8:	74 5e                	je     0x48ee48
48edea:	6a 2a                	push   $0x2a
48edec:	59                   	pop    %ecx
48eded:	66 89 4d f4          	mov    %cx,-0xc(%ebp)
48edf1:	6a 3f                	push   $0x3f
48edf3:	59                   	pop    %ecx
48edf4:	66 89 4d f6          	mov    %cx,-0xa(%ebp)
48edf8:	33 c9                	xor    %ecx,%ecx
48edfa:	66 89 4d f8          	mov    %cx,-0x8(%ebp)
48edfe:	8d 4d f4             	lea    -0xc(%ebp),%ecx
48ee01:	51                   	push   %ecx
48ee02:	50                   	push   %eax
48ee03:	e8 6f 21 00 00       	call   0x490f77
48ee08:	59                   	pop    %ecx
48ee09:	59                   	pop    %ecx
48ee0a:	85 c0                	test   %eax,%eax
48ee0c:	75 18                	jne    0x48ee26
48ee0e:	8d 45 dc             	lea    -0x24(%ebp),%eax
48ee11:	50                   	push   %eax
48ee12:	53                   	push   %ebx
48ee13:	53                   	push   %ebx
48ee14:	ff 36                	push   (%esi)
48ee16:	e8 35 01 00 00       	call   0x48ef50
48ee1b:	8b f8                	mov    %eax,%edi
48ee1d:	83 c4 10             	add    $0x10,%esp
48ee20:	85 ff                	test   %edi,%edi
48ee22:	75 7b                	jne    0x48ee9f
48ee24:	eb 13                	jmp    0x48ee39
48ee26:	8d 4d dc             	lea    -0x24(%ebp),%ecx
48ee29:	51                   	push   %ecx
48ee2a:	50                   	push   %eax
48ee2b:	ff 36                	push   (%esi)
48ee2d:	e8 d2 01 00 00       	call   0x48f004
48ee32:	83 c4 0c             	add    $0xc,%esp
48ee35:	85 c0                	test   %eax,%eax
48ee37:	75 1d                	jne    0x48ee56
48ee39:	83 c6 04             	add    $0x4,%esi
48ee3c:	8b 06                	mov    (%esi),%eax
48ee3e:	85 c0                	test   %eax,%eax
48ee40:	75 a8                	jne    0x48edea
48ee42:	8b 7d dc             	mov    -0x24(%ebp),%edi
48ee45:	8b 55 e0             	mov    -0x20(%ebp),%edx
48ee48:	8b da                	mov    %edx,%ebx
48ee4a:	8b f7                	mov    %edi,%esi
48ee4c:	2b df                	sub    %edi,%ebx
48ee4e:	c1 fb 02             	sar    $0x2,%ebx
48ee51:	43                   	inc    %ebx
48ee52:	33 c0                	xor    %eax,%eax
48ee54:	eb 26                	jmp    0x48ee7c
48ee56:	8b f8                	mov    %eax,%edi
48ee58:	eb 45                	jmp    0x48ee9f
48ee5a:	8b 0e                	mov    (%esi),%ecx
48ee5c:	8d 41 02             	lea    0x2(%ecx),%eax
48ee5f:	89 45 f0             	mov    %eax,-0x10(%ebp)
48ee62:	66 8b 01             	mov    (%ecx),%ax
48ee65:	83 c1 02             	add    $0x2,%ecx
48ee68:	66 3b 45 d8          	cmp    -0x28(%ebp),%ax
48ee6c:	75 f4                	jne    0x48ee62
48ee6e:	2b 4d f0             	sub    -0x10(%ebp),%ecx
48ee71:	8b 45 ec             	mov    -0x14(%ebp),%eax
48ee74:	d1 f9                	sar    $1,%ecx
48ee76:	40                   	inc    %eax
48ee77:	03 c1                	add    %ecx,%eax
48ee79:	83 c6 04             	add    $0x4,%esi
48ee7c:	89 45 ec             	mov    %eax,-0x14(%ebp)
48ee7f:	3b f2                	cmp    %edx,%esi
48ee81:	75 d7                	jne    0x48ee5a
48ee83:	6a 02                	push   $0x2
48ee85:	50                   	push   %eax
48ee86:	53                   	push   %ebx
48ee87:	e8 16 43 ff ff       	call   0x4831a2
48ee8c:	8b f0                	mov    %eax,%esi
48ee8e:	83 c4 0c             	add    $0xc,%esp
48ee91:	85 f6                	test   %esi,%esi
48ee93:	75 19                	jne    0x48eeae
48ee95:	50                   	push   %eax
48ee96:	e8 5d 69 ff ff       	call   0x4857f8
48ee9b:	59                   	pop    %ecx
48ee9c:	83 cf ff             	or     $0xffffffff,%edi
48ee9f:	8d 4d dc             	lea    -0x24(%ebp),%ecx
48eea2:	e8 d3 02 00 00       	call   0x48f17a
48eea7:	8b c7                	mov    %edi,%eax
48eea9:	e9 86 00 00 00       	jmp    0x48ef34
48eeae:	8d 04 9e             	lea    (%esi,%ebx,4),%eax
48eeb1:	8b 5d e0             	mov    -0x20(%ebp),%ebx
48eeb4:	89 45 d4             	mov    %eax,-0x2c(%ebp)
48eeb7:	8b d0                	mov    %eax,%edx
48eeb9:	89 55 f0             	mov    %edx,-0x10(%ebp)
48eebc:	3b fb                	cmp    %ebx,%edi
48eebe:	74 5c                	je     0x48ef1c
48eec0:	8b c6                	mov    %esi,%eax
48eec2:	2b c7                	sub    %edi,%eax
48eec4:	89 45 f4             	mov    %eax,-0xc(%ebp)
48eec7:	8b 0f                	mov    (%edi),%ecx
48eec9:	8d 41 02             	lea    0x2(%ecx),%eax
48eecc:	89 45 e8             	mov    %eax,-0x18(%ebp)
48eecf:	66 8b 01             	mov    (%ecx),%ax
48eed2:	83 c1 02             	add    $0x2,%ecx
48eed5:	66 3b 45 d8          	cmp    -0x28(%ebp),%ax
48eed9:	75 f4                	jne    0x48eecf
48eedb:	2b 4d e8             	sub    -0x18(%ebp),%ecx
48eede:	d1 f9                	sar    $1,%ecx
48eee0:	8d 41 01             	lea    0x1(%ecx),%eax