453b43:	72 05                	jb     0x453b4a
453b45:	8b 39                	mov    (%ecx),%edi
453b47:	89 7d fc             	mov    %edi,-0x4(%ebp)
453b4a:	8b 49 10             	mov    0x10(%ecx),%ecx
453b4d:	3b d9                	cmp    %ecx,%ebx
453b4f:	0f 87 b7 00 00 00    	ja     0x453c0c
453b55:	8b 45 0c             	mov    0xc(%ebp),%eax
453b58:	2b cb                	sub    %ebx,%ecx
453b5a:	3b c1                	cmp    %ecx,%eax
453b5c:	0f 87 aa 00 00 00    	ja     0x453c0c
453b62:	85 db                	test   %ebx,%ebx
453b64:	0f 84 a5 00 00 00    	je     0x453c0f
453b6a:	8d 51 01             	lea    0x1(%ecx),%edx
453b6d:	03 d7                	add    %edi,%edx
453b6f:	8d 0c 07             	lea    (%edi,%eax,1),%ecx
453b72:	0f be 3e             	movsbl (%esi),%edi
453b75:	89 55 f8             	mov    %edx,-0x8(%ebp)
453b78:	2b d1                	sub    %ecx,%edx
453b7a:	52                   	push   %edx
453b7b:	57                   	push   %edi
453b7c:	51                   	push   %ecx
453b7d:	89 7d f4             	mov    %edi,-0xc(%ebp)
453b80:	e8 cb f2 18 00       	call   0x5e2e50
453b85:	8b f8                	mov    %eax,%edi
453b87:	83 c4 0c             	add    $0xc,%esp
453b8a:	85 ff                	test   %edi,%edi
453b8c:	74 7e                	je     0x453c0c
453b8e:	66 90                	xchg   %ax,%ax
453b90:	8b c6                	mov    %esi,%eax
453b92:	8b d7                	mov    %edi,%edx
453b94:	8b f3                	mov    %ebx,%esi
453b96:	83 ee 04             	sub    $0x4,%esi
453b99:	72 16                	jb     0x453bb1
453b9b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
453ba0:	8b 0a                	mov    (%edx),%ecx
453ba2:	3b 08                	cmp    (%eax),%ecx
453ba4:	75 10                	jne    0x453bb6
453ba6:	83 c2 04             	add    $0x4,%edx
453ba9:	83 c0 04             	add    $0x4,%eax
453bac:	83 ee 04             	sub    $0x4,%esi
453baf:	73 ef                	jae    0x453ba0
453bb1:	83 fe fc             	cmp    $0xfffffffc,%esi
453bb4:	74 34                	je     0x453bea
453bb6:	8a 0a                	mov    (%edx),%cl
453bb8:	3a 08                	cmp    (%eax),%cl
453bba:	75 27                	jne    0x453be3
453bbc:	83 fe fd             	cmp    $0xfffffffd,%esi
453bbf:	74 29                	je     0x453bea
453bc1:	8a 4a 01             	mov    0x1(%edx),%cl
453bc4:	3a 48 01             	cmp    0x1(%eax),%cl
453bc7:	75 1a                	jne    0x453be3
453bc9:	83 fe fe             	cmp    $0xfffffffe,%esi
453bcc:	74 1c                	je     0x453bea
453bce:	8a 4a 02             	mov    0x2(%edx),%cl
453bd1:	3a 48 02             	cmp    0x2(%eax),%cl
453bd4:	75 0d                	jne    0x453be3
453bd6:	83 fe ff             	cmp    $0xffffffff,%esi
453bd9:	74 0f                	je     0x453bea
453bdb:	8a 4a 03             	mov    0x3(%edx),%cl
453bde:	3a 48 03             	cmp    0x3(%eax),%cl
453be1:	74 07                	je     0x453bea
453be3:	1b c0                	sbb    %eax,%eax
453be5:	83 c8 01             	or     $0x1,%eax
453be8:	eb 02                	jmp    0x453bec
453bea:	33 c0                	xor    %eax,%eax
453bec:	85 c0                	test   %eax,%eax
453bee:	74 28                	je     0x453c18
453bf0:	8b 45 f8             	mov    -0x8(%ebp),%eax
453bf3:	47                   	inc    %edi
453bf4:	2b c7                	sub    %edi,%eax
453bf6:	50                   	push   %eax
453bf7:	ff 75 f4             	push   -0xc(%ebp)
453bfa:	57                   	push   %edi
453bfb:	e8 50 f2 18 00       	call   0x5e2e50
453c00:	8b 75 08             	mov    0x8(%ebp),%esi
453c03:	8b f8                	mov    %eax,%edi
453c05:	83 c4 0c             	add    $0xc,%esp
453c08:	85 ff                	test   %edi,%edi
453c0a:	75 84                	jne    0x453b90
453c0c:	83 c8 ff             	or     $0xffffffff,%eax
453c0f:	5f                   	pop    %edi
453c10:	5e                   	pop    %esi
453c11:	5b                   	pop    %ebx
453c12:	8b e5                	mov    %ebp,%esp
453c14:	5d                   	pop    %ebp
453c15:	c2 08 00             	ret    $0x8
453c18:	2b 7d fc             	sub    -0x4(%ebp),%edi
453c1b:	8b c7                	mov    %edi,%eax
453c1d:	5f                   	pop    %edi
453c1e:	5e                   	pop    %esi
453c1f:	5b                   	pop    %ebx
453c20:	8b e5                	mov    %ebp,%esp
453c22:	5d                   	pop    %ebp
453c23:	c2 08 00             	ret    $0x8
453c26:	cc                   	int3
453c27:	cc                   	int3
453c28:	cc                   	int3
453c29:	cc                   	int3
453c2a:	cc                   	int3
453c2b:	cc                   	int3
453c2c:	cc                   	int3
453c2d:	cc                   	int3
453c2e:	cc                   	int3
453c2f:	cc                   	int3
453c30:	55                   	push   %ebp
453c31:	8b ec                	mov    %esp,%ebp
453c33:	6a ff                	push   $0xffffffff
453c35:	68 28 c4 64 00       	push   $0x64c428
453c3a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
453c40:	50                   	push   %eax
453c41:	83 ec 1c             	sub    $0x1c,%esp
453c44:	a1 d4 89 72 00       	mov    0x7289d4,%eax
453c49:	33 c5                	xor    %ebp,%eax
453c4b:	89 45 f0             	mov    %eax,-0x10(%ebp)
453c4e:	56                   	push   %esi
453c4f:	57                   	push   %edi
453c50:	50                   	push   %eax
453c51:	8d 45 f4             	lea    -0xc(%ebp),%eax
453c54:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
453c5a:	8b f9                	mov    %ecx,%edi
453c5c:	8b 75 08             	mov    0x8(%ebp),%esi
453c5f:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
453c66:	c7 45 ec 0f 00 00 00 	movl   $0xf,-0x14(%ebp)
453c6d:	c6 45 d8 00          	movb   $0x0,-0x28(%ebp)
453c71:	6a 00                	push   $0x0
453c73:	68 e8 c6 68 00       	push   $0x68c6e8
453c78:	8d 45 d8             	lea    -0x28(%ebp),%eax
453c7b:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
453c82:	68 c8 c6 68 00       	push   $0x68c6c8
453c87:	50                   	push   %eax
453c88:	e8 c3 e8 15 00       	call   0x5b2550
453c8d:	83 c4 10             	add    $0x10,%esp
453c90:	83 f8 01             	cmp    $0x1,%eax
453c93:	75 42                	jne    0x453cd7
453c95:	68 64 c7 68 00       	push   $0x68c764
453c9a:	6a 00                	push   $0x0
453c9c:	6a 04                	push   $0x4
453c9e:	68 04 c7 68 00       	push   $0x68c704
453ca3:	ff 37                	push   (%edi)
453ca5:	e8 86 94 03 00       	call   0x48d130
453caa:	83 c4 14             	add    $0x14,%esp
453cad:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
453cb4:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
453cb8:	8b c6                	mov    %esi,%eax
453cba:	72 02                	jb     0x453cbe
453cbc:	8b 06                	mov    (%esi),%eax
453cbe:	c6 00 00             	movb   $0x0,(%eax)
453cc1:	8b ce                	mov    %esi,%ecx
453cc3:	83 7d ec 10          	cmpl   $0x10,-0x14(%ebp)
453cc7:	8d 45 d8             	lea    -0x28(%ebp),%eax
453cca:	ff 75 e8             	push   -0x18(%ebp)
453ccd:	0f 43 45 d8          	cmovae -0x28(%ebp),%eax
453cd1:	50                   	push   %eax
453cd2:	e8 e9 13 ff ff       	call   0x4450c0
453cd7:	8b 55 ec             	mov    -0x14(%ebp),%edx
453cda:	83 fa 10             	cmp    $0x10,%edx
453cdd:	72 28                	jb     0x453d07
453cdf:	8b 4d d8             	mov    -0x28(%ebp),%ecx
453ce2:	42                   	inc    %edx
453ce3:	8b c1                	mov    %ecx,%eax
453ce5:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
453ceb:	72 10                	jb     0x453cfd
453ced:	8b 49 fc             	mov    -0x4(%ecx),%ecx
453cf0:	83 c2 23             	add    $0x23,%edx
453cf3:	2b c1                	sub    %ecx,%eax
453cf5:	83 c0 fc             	add    $0xfffffffc,%eax
453cf8:	83 f8 1f             	cmp    $0x1f,%eax
453cfb:	77 27                	ja     0x453d24
453cfd:	52                   	push   %edx
453cfe:	51                   	push   %ecx
453cff:	e8 6e d3 18 00       	call   0x5e1072
453d04:	83 c4 08             	add    $0x8,%esp
453d07:	8b 4d f4             	mov    -0xc(%ebp),%ecx
453d0a:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
453d11:	59                   	pop    %ecx
453d12:	5f                   	pop    %edi
453d13:	5e                   	pop    %esi
453d14:	8b 4d f0             	mov    -0x10(%ebp),%ecx
453d17:	33 cd                	xor    %ebp,%ecx
453d19:	e8 bc d7 18 00       	call   0x5e14da
453d1e:	8b e5                	mov    %ebp,%esp
453d20:	5d                   	pop    %ebp
453d21:	c2 04 00             	ret    $0x4
453d24:	e8 06 92 19 00       	call   0x5ecf2f
453d29:	cc                   	int3
453d2a:	cc                   	int3
453d2b:	cc                   	int3
453d2c:	cc                   	int3
453d2d:	cc                   	int3
453d2e:	cc                   	int3
453d2f:	cc                   	int3
453d30:	55                   	push   %ebp
453d31:	8b ec                	mov    %esp,%ebp
453d33:	6a ff                	push   $0xffffffff
453d35:	68 08 d7 64 00       	push   $0x64d708
453d3a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
453d40:	50                   	push   %eax
453d41:	83 ec 1c             	sub    $0x1c,%esp
453d44:	a1 d4 89 72 00       	mov    0x7289d4,%eax
453d49:	33 c5                	xor    %ebp,%eax
453d4b:	89 45 f0             	mov    %eax,-0x10(%ebp)
453d4e:	53                   	push   %ebx
453d4f:	56                   	push   %esi
453d50:	57                   	push   %edi
453d51:	50                   	push   %eax
453d52:	8d 45 f4             	lea    -0xc(%ebp),%eax
453d55:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
453d5b:	8b f9                	mov    %ecx,%edi
453d5d:	8b 75 08             	mov    0x8(%ebp),%esi
453d60:	68 1c c7 68 00       	push   $0x68c71c
453d65:	6a 00                	push   $0x0
453d67:	6a 04                	push   $0x4
453d69:	68 04 c7 68 00       	push   $0x68c704
453d6e:	ff 37                	push   (%edi)
453d70:	e8 bb 93 03 00       	call   0x48d130
453d75:	83 c4 14             	add    $0x14,%esp
453d78:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
453d7f:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
453d83:	8b c6                	mov    %esi,%eax
453d85:	72 02                	jb     0x453d89
453d87:	8b 06                	mov    (%esi),%eax
453d89:	c6 00 00             	movb   $0x0,(%eax)
453d8c:	32 db                	xor    %bl,%bl
453d8e:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
453d95:	c7 45 ec 0f 00 00 00 	movl   $0xf,-0x14(%ebp)
453d9c:	88 5d d8             	mov    %bl,-0x28(%ebp)
453d9f:	6a 00                	push   $0x0
453da1:	68 e8 c6 68 00       	push   $0x68c6e8
453da6:	8d 45 d8             	lea    -0x28(%ebp),%eax
453da9:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
453db0:	68 b4 c6 68 00       	push   $0x68c6b4
453db5:	50                   	push   %eax
453db6:	e8 95 e7 15 00       	call   0x5b2550
453dbb:	83 c4 10             	add    $0x10,%esp
453dbe:	83 f8 01             	cmp    $0x1,%eax
453dc1:	75 30                	jne    0x453df3
453dc3:	68 44 c7 68 00       	push   $0x68c744
453dc8:	6a 00                	push   $0x0
453dca:	6a 04                	push   $0x4
453dcc:	68 04 c7 68 00       	push   $0x68c704
453dd1:	ff 37                	push   (%edi)
453dd3:	e8 58 93 03 00       	call   0x48d130
453dd8:	83 c4 14             	add    $0x14,%esp
453ddb:	8d 45 d8             	lea    -0x28(%ebp),%eax
453dde:	83 7d ec 10          	cmpl   $0x10,-0x14(%ebp)
453de2:	8b ce                	mov    %esi,%ecx
453de4:	b3 01                	mov    $0x1,%bl
453de6:	0f 43 45 d8          	cmovae -0x28(%ebp),%eax
453dea:	ff 75 e8             	push   -0x18(%ebp)
453ded:	50                   	push   %eax
453dee:	e8 cd 12 ff ff       	call   0x4450c0
453df3:	8b 55 ec             	mov    -0x14(%ebp),%edx
453df6:	83 fa 10             	cmp    $0x10,%edx
453df9:	72 28                	jb     0x453e23
453dfb:	8b 4d d8             	mov    -0x28(%ebp),%ecx
453dfe:	42                   	inc    %edx
453dff:	8b c1                	mov    %ecx,%eax
453e01:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
453e07:	72 10                	jb     0x453e19
453e09:	8b 49 fc             	mov    -0x4(%ecx),%ecx
453e0c:	83 c2 23             	add    $0x23,%edx
453e0f:	2b c1                	sub    %ecx,%eax
453e11:	83 c0 fc             	add    $0xfffffffc,%eax
453e14:	83 f8 1f             	cmp    $0x1f,%eax
453e17:	77 2a                	ja     0x453e43
453e19:	52                   	push   %edx
453e1a:	51                   	push   %ecx
453e1b:	e8 52 d2 18 00       	call   0x5e1072
453e20:	83 c4 08             	add    $0x8,%esp
453e23:	8a c3                	mov    %bl,%al
453e25:	8b 4d f4             	mov    -0xc(%ebp),%ecx
453e28:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
453e2f:	59                   	pop    %ecx
453e30:	5f                   	pop    %edi
453e31:	5e                   	pop    %esi
453e32:	5b                   	pop    %ebx
453e33:	8b 4d f0             	mov    -0x10(%ebp),%ecx
453e36:	33 cd                	xor    %ebp,%ecx
453e38:	e8 9d d6 18 00       	call   0x5e14da
453e3d:	8b e5                	mov    %ebp,%esp
453e3f:	5d                   	pop    %ebp
453e40:	c2 04 00             	ret    $0x4
453e43:	e8 e7 90 19 00       	call   0x5ecf2f
453e48:	cc                   	int3
453e49:	cc                   	int3
453e4a:	cc                   	int3
453e4b:	cc                   	int3
453e4c:	cc                   	int3
453e4d:	cc                   	int3
453e4e:	cc                   	int3
453e4f:	cc                   	int3
453e50:	55                   	push   %ebp
453e51:	8b ec                	mov    %esp,%ebp
453e53:	6a ff                	push   $0xffffffff
453e55:	68 60 ea 64 00       	push   $0x64ea60
453e5a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
453e60:	50                   	push   %eax
453e61:	83 ec 24             	sub    $0x24,%esp
453e64:	53                   	push   %ebx
453e65:	56                   	push   %esi
453e66:	57                   	push   %edi
453e67:	a1 d4 89 72 00       	mov    0x7289d4,%eax
453e6c:	33 c5                	xor    %ebp,%eax
453e6e:	50                   	push   %eax
453e6f:	8d 45 f4             	lea    -0xc(%ebp),%eax
453e72:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
453e78:	89 65 f0             	mov    %esp,-0x10(%ebp)
453e7b:	8b f9                	mov    %ecx,%edi
453e7d:	8b 45 08             	mov    0x8(%ebp),%eax
453e80:	8b 4d 0c             	mov    0xc(%ebp),%ecx
453e83:	8b 1f                	mov    (%edi),%ebx
453e85:	89 45 e4             	mov    %eax,-0x1c(%ebp)
453e88:	89 4d e8             	mov    %ecx,-0x18(%ebp)
453e8b:	8b c8                	mov    %eax,%ecx
453e8d:	2b cb                	sub    %ebx,%ecx
453e8f:	89 7d d0             	mov    %edi,-0x30(%ebp)
453e92:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
453e97:	f7 e9                	imul   %ecx
453e99:	8b 4f 04             	mov    0x4(%edi),%ecx
453e9c:	d1 fa                	sar    $1,%edx
453e9e:	2b cb                	sub    %ebx,%ecx
453ea0:	8b c2                	mov    %edx,%eax
453ea2:	c1 e8 1f             	shr    $0x1f,%eax
453ea5:	03 c2                	add    %edx,%eax
453ea7:	89 45 ec             	mov    %eax,-0x14(%ebp)
453eaa:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
453eaf:	f7 e9                	imul   %ecx
453eb1:	d1 fa                	sar    $1,%edx
453eb3:	8b c2                	mov    %edx,%eax
453eb5:	c1 e8 1f             	shr    $0x1f,%eax
453eb8:	03 c2                	add    %edx,%eax
453eba:	89 45 d8             	mov    %eax,-0x28(%ebp)
453ebd:	3d 55 55 55 15       	cmp    $0x15555555,%eax
453ec2:	0f 84 50 01 00 00    	je     0x454018
453ec8:	8b 4f 08             	mov    0x8(%edi),%ecx
453ecb:	8d 70 01             	lea    0x1(%eax),%esi
453ece:	2b cb                	sub    %ebx,%ecx
453ed0:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
453ed5:	f7 e9                	imul   %ecx
453ed7:	b8 55 55 55 15       	mov    $0x15555555,%eax
453edc:	d1 fa                	sar    $1,%edx
453ede:	8b ca                	mov    %edx,%ecx
453ee0:	c1 e9 1f             	shr    $0x1f,%ecx
453ee3:	03 ca                	add    %edx,%ecx
453ee5:	8b d1                	mov    %ecx,%edx
453ee7:	d1 ea                	shr    $1,%edx
453ee9:	2b c2                	sub    %edx,%eax
453eeb:	3b c8                	cmp    %eax,%ecx
453eed:	76 07                	jbe    0x453ef6
453eef:	8b de                	mov    %esi,%ebx