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
453ef1:	89 75 e0             	mov    %esi,-0x20(%ebp)
453ef4:	eb 0b                	jmp    0x453f01
453ef6:	8d 1c 0a             	lea    (%edx,%ecx,1),%ebx
453ef9:	3b de                	cmp    %esi,%ebx
453efb:	0f 42 de             	cmovb  %esi,%ebx
453efe:	89 5d e0             	mov    %ebx,-0x20(%ebp)
453f01:	53                   	push   %ebx
453f02:	8b cf                	mov    %edi,%ecx
453f04:	e8 57 05 00 00       	call   0x454460
453f09:	ff 75 e8             	push   -0x18(%ebp)
453f0c:	8b f0                	mov    %eax,%esi
453f0e:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
453f15:	8b 45 ec             	mov    -0x14(%ebp),%eax
453f18:	89 75 dc             	mov    %esi,-0x24(%ebp)
453f1b:	8d 04 40             	lea    (%eax,%eax,2),%eax
453f1e:	8d 0c 86             	lea    (%esi,%eax,4),%ecx
453f21:	51                   	push   %ecx
453f22:	8d 41 0c             	lea    0xc(%ecx),%eax
453f25:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
453f28:	57                   	push   %edi
453f29:	89 45 ec             	mov    %eax,-0x14(%ebp)
453f2c:	e8 bf 09 ff ff       	call   0x4448f0
453f31:	8b 47 04             	mov    0x4(%edi),%eax
453f34:	83 c4 0c             	add    $0xc,%esp
453f37:	8b 55 e4             	mov    -0x1c(%ebp),%edx
453f3a:	8b 0f                	mov    (%edi),%ecx
453f3c:	3b d0                	cmp    %eax,%edx
453f3e:	74 15                	je     0x453f55
453f40:	57                   	push   %edi
453f41:	56                   	push   %esi
453f42:	52                   	push   %edx
453f43:	51                   	push   %ecx
453f44:	e8 47 08 ff ff       	call   0x444790
453f49:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
453f4c:	83 c4 10             	add    $0x10,%esp
453f4f:	8b 47 04             	mov    0x4(%edi),%eax
453f52:	8b 75 ec             	mov    -0x14(%ebp),%esi
453f55:	57                   	push   %edi
453f56:	56                   	push   %esi
453f57:	50                   	push   %eax
453f58:	51                   	push   %ecx
453f59:	e8 32 08 ff ff       	call   0x444790
453f5e:	8b 37                	mov    (%edi),%esi
453f60:	83 c4 10             	add    $0x10,%esp
453f63:	85 f6                	test   %esi,%esi
453f65:	74 59                	je     0x453fc0
453f67:	8b 47 04             	mov    0x4(%edi),%eax
453f6a:	89 45 e8             	mov    %eax,-0x18(%ebp)
453f6d:	3b f0                	cmp    %eax,%esi
453f6f:	74 11                	je     0x453f82
453f71:	8b ce                	mov    %esi,%ecx
453f73:	e8 88 0f ff ff       	call   0x444f00
453f78:	83 c6 0c             	add    $0xc,%esi
453f7b:	3b 75 e8             	cmp    -0x18(%ebp),%esi
453f7e:	75 f1                	jne    0x453f71
453f80:	8b 37                	mov    (%edi),%esi
453f82:	8b 4f 08             	mov    0x8(%edi),%ecx
453f85:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
453f8a:	2b ce                	sub    %esi,%ecx
453f8c:	f7 e9                	imul   %ecx
453f8e:	d1 fa                	sar    $1,%edx
453f90:	8b c2                	mov    %edx,%eax
453f92:	c1 e8 1f             	shr    $0x1f,%eax
453f95:	03 c2                	add    %edx,%eax
453f97:	8d 04 40             	lea    (%eax,%eax,2),%eax
453f9a:	c1 e0 02             	shl    $0x2,%eax
453f9d:	3d 00 10 00 00       	cmp    $0x1000,%eax
453fa2:	72 12                	jb     0x453fb6
453fa4:	8b 4e fc             	mov    -0x4(%esi),%ecx
453fa7:	83 c0 23             	add    $0x23,%eax
453faa:	2b f1                	sub    %ecx,%esi
453fac:	83 c6 fc             	add    $0xfffffffc,%esi
453faf:	83 fe 1f             	cmp    $0x1f,%esi
453fb2:	77 69                	ja     0x45401d
453fb4:	8b f1                	mov    %ecx,%esi
453fb6:	50                   	push   %eax
453fb7:	56                   	push   %esi
453fb8:	e8 b5 d0 18 00       	call   0x5e1072
453fbd:	83 c4 08             	add    $0x8,%esp
453fc0:	8b 4d d8             	mov    -0x28(%ebp),%ecx
453fc3:	8b 45 dc             	mov    -0x24(%ebp),%eax
453fc6:	89 07                	mov    %eax,(%edi)
453fc8:	8d 0c 49             	lea    (%ecx,%ecx,2),%ecx
453fcb:	8d 49 03             	lea    0x3(%ecx),%ecx
453fce:	8d 0c 88             	lea    (%eax,%ecx,4),%ecx
453fd1:	89 4f 04             	mov    %ecx,0x4(%edi)
453fd4:	8d 0c 5b             	lea    (%ebx,%ebx,2),%ecx
453fd7:	8d 0c 88             	lea    (%eax,%ecx,4),%ecx
453fda:	8b 45 d4             	mov    -0x2c(%ebp),%eax
453fdd:	89 4f 08             	mov    %ecx,0x8(%edi)
453fe0:	8b 4d f4             	mov    -0xc(%ebp),%ecx
453fe3:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
453fea:	59                   	pop    %ecx
453feb:	5f                   	pop    %edi
453fec:	5e                   	pop    %esi
453fed:	5b                   	pop    %ebx
453fee:	8b e5                	mov    %ebp,%esp
453ff0:	5d                   	pop    %ebp
453ff1:	c2 08 00             	ret    $0x8
453ff4:	8b 45 ec             	mov    -0x14(%ebp),%eax
453ff7:	8b 4d d0             	mov    -0x30(%ebp),%ecx
453ffa:	50                   	push   %eax
453ffb:	50                   	push   %eax
453ffc:	e8 af 0e ff ff       	call   0x444eb0
454001:	ff 75 e0             	push   -0x20(%ebp)
454004:	8b 4d d0             	mov    -0x30(%ebp),%ecx
454007:	ff 75 dc             	push   -0x24(%ebp)
45400a:	e8 41 14 ff ff       	call   0x445450
45400f:	6a 00                	push   $0x0
454011:	6a 00                	push   $0x0
454013:	e8 1a ea 18 00       	call   0x5e2a32
454018:	e8 23 10 ff ff       	call   0x445040
45401d:	e8 0d 8f 19 00       	call   0x5ecf2f
454022:	cc                   	int3
454023:	cc                   	int3
454024:	cc                   	int3
454025:	cc                   	int3
454026:	cc                   	int3
454027:	cc                   	int3
454028:	cc                   	int3
454029:	cc                   	int3
45402a:	cc                   	int3
45402b:	cc                   	int3
45402c:	cc                   	int3
45402d:	cc                   	int3
45402e:	cc                   	int3
45402f:	cc                   	int3
454030:	8b 09                	mov    (%ecx),%ecx
454032:	85 c9                	test   %ecx,%ecx
454034:	0f 85 d6 0b ff ff    	jne    0x444c10
45403a:	c3                   	ret
45403b:	cc                   	int3
45403c:	cc                   	int3
45403d:	cc                   	int3
45403e:	cc                   	int3
45403f:	cc                   	int3
454040:	56                   	push   %esi
454041:	8b 31                	mov    (%ecx),%esi
454043:	57                   	push   %edi
454044:	8b 79 04             	mov    0x4(%ecx),%edi
454047:	3b f7                	cmp    %edi,%esi
454049:	74 13                	je     0x45405e
45404b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
454050:	8b ce                	mov    %esi,%ecx
454052:	e8 a9 0e ff ff       	call   0x444f00
454057:	83 c6 0c             	add    $0xc,%esi
45405a:	3b f7                	cmp    %edi,%esi
45405c:	75 f2                	jne    0x454050
45405e:	5f                   	pop    %edi
45405f:	5e                   	pop    %esi
454060:	c3                   	ret
454061:	cc                   	int3
454062:	cc                   	int3
454063:	cc                   	int3
454064:	cc                   	int3
454065:	cc                   	int3
454066:	cc                   	int3
454067:	cc                   	int3
454068:	cc                   	int3
454069:	cc                   	int3
45406a:	cc                   	int3
45406b:	cc                   	int3
45406c:	cc                   	int3
45406d:	cc                   	int3
45406e:	cc                   	int3
45406f:	cc                   	int3
454070:	55                   	push   %ebp
454071:	8b ec                	mov    %esp,%ebp
454073:	83 ec 18             	sub    $0x18,%esp
454076:	a1 d4 89 72 00       	mov    0x7289d4,%eax
45407b:	33 c5                	xor    %ebp,%eax
45407d:	89 45 fc             	mov    %eax,-0x4(%ebp)
454080:	53                   	push   %ebx
454081:	56                   	push   %esi
454082:	8d 45 ec             	lea    -0x14(%ebp),%eax