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
454085:	c6 45 eb 00          	movb   $0x0,-0x15(%ebp)
454089:	50                   	push   %eax
45408a:	68 01 02 00 00       	push   $0x201
45408f:	6a 00                	push   $0x0
454091:	68 f0 c8 68 00       	push   $0x68c8f0
454096:	68 02 00 00 80       	push   $0x80000002
45409b:	c6 45 e9 00          	movb   $0x0,-0x17(%ebp)
45409f:	32 ff                	xor    %bh,%bh
4540a1:	c6 45 ea 00          	movb   $0x0,-0x16(%ebp)
4540a5:	83 ce ff             	or     $0xffffffff,%esi
4540a8:	32 db                	xor    %bl,%bl
4540aa:	ff 15 d4 20 68 00    	call   *0x6820d4
4540b0:	85 c0                	test   %eax,%eax
4540b2:	75 33                	jne    0x4540e7
4540b4:	8d 45 f8             	lea    -0x8(%ebp),%eax
4540b7:	c7 45 f4 04 00 00 00 	movl   $0x4,-0xc(%ebp)
4540be:	50                   	push   %eax
4540bf:	8d 45 f0             	lea    -0x10(%ebp),%eax
4540c2:	c7 45 f8 04 00 00 00 	movl   $0x4,-0x8(%ebp)
4540c9:	50                   	push   %eax
4540ca:	8d 45 f4             	lea    -0xc(%ebp),%eax
4540cd:	50                   	push   %eax
4540ce:	6a 00                	push   $0x0
4540d0:	68 68 c9 68 00       	push   $0x68c968
4540d5:	ff 75 ec             	push   -0x14(%ebp)
4540d8:	ff 15 d0 20 68 00    	call   *0x6820d0
4540de:	85 c0                	test   %eax,%eax
4540e0:	75 05                	jne    0x4540e7
4540e2:	8b 75 f0             	mov    -0x10(%ebp),%esi
4540e5:	b3 01                	mov    $0x1,%bl
4540e7:	ff 75 ec             	push   -0x14(%ebp)
4540ea:	ff 15 44 20 68 00    	call   *0x682044
4540f0:	84 db                	test   %bl,%bl
4540f2:	74 06                	je     0x4540fa
4540f4:	85 f6                	test   %esi,%esi
4540f6:	0f 94 45 eb          	sete   -0x15(%ebp)
4540fa:	8d 45 ec             	lea    -0x14(%ebp),%eax
4540fd:	83 ce ff             	or     $0xffffffff,%esi
454100:	50                   	push   %eax
454101:	68 01 02 00 00       	push   $0x201
454106:	6a 00                	push   $0x0
454108:	68 00 c8 68 00       	push   $0x68c800
45410d:	68 02 00 00 80       	push   $0x80000002
454112:	32 db                	xor    %bl,%bl
454114:	ff 15 d4 20 68 00    	call   *0x6820d4
45411a:	85 c0                	test   %eax,%eax
45411c:	75 33                	jne    0x454151
45411e:	8d 45 f0             	lea    -0x10(%ebp),%eax
454121:	c7 45 f4 04 00 00 00 	movl   $0x4,-0xc(%ebp)
454128:	50                   	push   %eax
454129:	8d 45 f8             	lea    -0x8(%ebp),%eax
45412c:	c7 45 f0 04 00 00 00 	movl   $0x4,-0x10(%ebp)
454133:	50                   	push   %eax
454134:	8d 45 f4             	lea    -0xc(%ebp),%eax
454137:	50                   	push   %eax
454138:	6a 00                	push   $0x0
45413a:	68 68 c9 68 00       	push   $0x68c968
45413f:	ff 75 ec             	push   -0x14(%ebp)
454142:	ff 15 d0 20 68 00    	call   *0x6820d0
454148:	85 c0                	test   %eax,%eax
45414a:	75 05                	jne    0x454151
45414c:	8b 75 f8             	mov    -0x8(%ebp),%esi
45414f:	b3 01                	mov    $0x1,%bl
454151:	ff 75 ec             	push   -0x14(%ebp)
454154:	ff 15 44 20 68 00    	call   *0x682044
45415a:	84 db                	test   %bl,%bl
45415c:	74 06                	je     0x454164
45415e:	85 f6                	test   %esi,%esi
454160:	0f 94 45 ea          	sete   -0x16(%ebp)
454164:	8d 45 ec             	lea    -0x14(%ebp),%eax
454167:	83 ce ff             	or     $0xffffffff,%esi
45416a:	50                   	push   %eax
45416b:	68 01 02 00 00       	push   $0x201
454170:	6a 00                	push   $0x0
454172:	68 88 c7 68 00       	push   $0x68c788
454177:	68 02 00 00 80       	push   $0x80000002
45417c:	32 db                	xor    %bl,%bl
45417e:	ff 15 d4 20 68 00    	call   *0x6820d4
454184:	85 c0                	test   %eax,%eax
454186:	75 33                	jne    0x4541bb
454188:	8d 45 f0             	lea    -0x10(%ebp),%eax
45418b:	c7 45 f4 04 00 00 00 	movl   $0x4,-0xc(%ebp)
454192:	50                   	push   %eax
454193:	8d 45 f8             	lea    -0x8(%ebp),%eax
454196:	c7 45 f0 04 00 00 00 	movl   $0x4,-0x10(%ebp)
45419d:	50                   	push   %eax
45419e:	8d 45 f4             	lea    -0xc(%ebp),%eax
4541a1:	50                   	push   %eax
4541a2:	6a 00                	push   $0x0
4541a4:	68 68 c9 68 00       	push   $0x68c968
4541a9:	ff 75 ec             	push   -0x14(%ebp)
4541ac:	ff 15 d0 20 68 00    	call   *0x6820d0
4541b2:	85 c0                	test   %eax,%eax
4541b4:	75 05                	jne    0x4541bb
4541b6:	8b 75 f8             	mov    -0x8(%ebp),%esi
4541b9:	b3 01                	mov    $0x1,%bl
4541bb:	ff 75 ec             	push   -0x14(%ebp)
4541be:	ff 15 44 20 68 00    	call   *0x682044
4541c4:	84 db                	test   %bl,%bl
4541c6:	74 06                	je     0x4541ce
4541c8:	85 f6                	test   %esi,%esi
4541ca:	0f 94 45 e9          	sete   -0x17(%ebp)
4541ce:	8d 45 ec             	lea    -0x14(%ebp),%eax
4541d1:	83 ce ff             	or     $0xffffffff,%esi
4541d4:	50                   	push   %eax
4541d5:	68 01 02 00 00       	push   $0x201
4541da:	6a 00                	push   $0x0
4541dc:	68 78 c8 68 00       	push   $0x68c878
4541e1:	68 02 00 00 80       	push   $0x80000002
4541e6:	32 db                	xor    %bl,%bl
4541e8:	ff 15 d4 20 68 00    	call   *0x6820d4
4541ee:	85 c0                	test   %eax,%eax
4541f0:	75 33                	jne    0x454225
4541f2:	8d 45 f0             	lea    -0x10(%ebp),%eax
4541f5:	c7 45 f4 04 00 00 00 	movl   $0x4,-0xc(%ebp)
4541fc:	50                   	push   %eax
4541fd:	8d 45 f8             	lea    -0x8(%ebp),%eax
454200:	c7 45 f0 04 00 00 00 	movl   $0x4,-0x10(%ebp)
454207:	50                   	push   %eax
454208:	8d 45 f4             	lea    -0xc(%ebp),%eax
45420b:	50                   	push   %eax
45420c:	6a 00                	push   $0x0
45420e:	68 68 c9 68 00       	push   $0x68c968
454213:	ff 75 ec             	push   -0x14(%ebp)
454216:	ff 15 d0 20 68 00    	call   *0x6820d0
45421c:	85 c0                	test   %eax,%eax
45421e:	75 05                	jne    0x454225
454220:	8b 75 f8             	mov    -0x8(%ebp),%esi
454223:	b3 01                	mov    $0x1,%bl
454225:	ff 75 ec             	push   -0x14(%ebp)
454228:	ff 15 44 20 68 00    	call   *0x682044
45422e:	84 db                	test   %bl,%bl
454230:	74 05                	je     0x454237
454232:	85 f6                	test   %esi,%esi
454234:	0f 94 c7             	sete   %bh
454237:	80 7d eb 00          	cmpb   $0x0,-0x15(%ebp)
45423b:	75 22                	jne    0x45425f
45423d:	80 7d ea 00          	cmpb   $0x0,-0x16(%ebp)
454241:	75 1c                	jne    0x45425f
454243:	80 7d e9 00          	cmpb   $0x0,-0x17(%ebp)
454247:	75 16                	jne    0x45425f
454249:	84 ff                	test   %bh,%bh
45424b:	75 12                	jne    0x45425f
45424d:	5e                   	pop    %esi
45424e:	32 c0                	xor    %al,%al
454250:	5b                   	pop    %ebx
454251:	8b 4d fc             	mov    -0x4(%ebp),%ecx
454254:	33 cd                	xor    %ebp,%ecx
454256:	e8 7f d2 18 00       	call   0x5e14da
45425b:	8b e5                	mov    %ebp,%esp
45425d:	5d                   	pop    %ebp
45425e:	c3                   	ret
45425f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
454262:	b0 01                	mov    $0x1,%al
454264:	5e                   	pop    %esi
454265:	33 cd                	xor    %ebp,%ecx
454267:	5b                   	pop    %ebx
454268:	e8 6d d2 18 00       	call   0x5e14da
45426d:	8b e5                	mov    %ebp,%esp
45426f:	5d                   	pop    %ebp
454270:	c3                   	ret
454271:	cc                   	int3
454272:	cc                   	int3
454273:	cc                   	int3
454274:	cc                   	int3
454275:	cc                   	int3
454276:	cc                   	int3
454277:	cc                   	int3
454278:	cc                   	int3
454279:	cc                   	int3
45427a:	cc                   	int3
45427b:	cc                   	int3
45427c:	cc                   	int3
45427d:	cc                   	int3
45427e:	cc                   	int3