406efa:	74 10                	je     0x406f0c
406efc:	41                   	inc    %ecx
406efd:	3b c8                	cmp    %eax,%ecx
406eff:	72 f2                	jb     0x406ef3
406f01:	8b 4e 14             	mov    0x14(%esi),%ecx
406f04:	31 8e 8c 04 00 00    	xor    %ecx,0x48c(%esi)
406f0a:	b3 01                	mov    $0x1,%bl
406f0c:	83 f8 08             	cmp    $0x8,%eax
406f0f:	72 2e                	jb     0x406f3f
406f11:	8d 94 05 f4 fe ff ff 	lea    -0x10c(%ebp,%eax,1),%edx
406f18:	52                   	push   %edx
406f19:	68 d5 00 00 00       	push   $0xd5
406f1e:	56                   	push   %esi
406f1f:	e8 ec b2 00 00       	call   0x412210
406f24:	83 c4 08             	add    $0x8,%esp
406f27:	50                   	push   %eax
406f28:	e8 43 b3 00 00       	call   0x412270
406f2d:	83 c4 08             	add    $0x8,%esp
406f30:	85 c0                	test   %eax,%eax
406f32:	74 0b                	je     0x406f3f
406f34:	8b 46 14             	mov    0x14(%esi),%eax
406f37:	fe c3                	inc    %bl
406f39:	31 86 8c 04 00 00    	xor    %eax,0x48c(%esi)
406f3f:	88 5e 2c             	mov    %bl,0x2c(%esi)
406f42:	b8 01 00 00 00       	mov    $0x1,%eax
406f47:	84 db                	test   %bl,%bl
406f49:	75 07                	jne    0x406f52
406f4b:	83 86 20 05 00 00 c9 	addl   $0xffffffc9,0x520(%esi)
406f52:	5e                   	pop    %esi
406f53:	5b                   	pop    %ebx
406f54:	8b e5                	mov    %ebp,%esp
406f56:	5d                   	pop    %ebp
406f57:	c3                   	ret
406f58:	11 0d 30 76 c5 dd    	adc    %ecx,0xddc57630
406f5e:	36 3c 55             	ss cmp $0x55,%al
406f61:	8b ec                	mov    %esp,%ebp
406f63:	81 ec 1c 02 00 00    	sub    $0x21c,%esp
406f69:	53                   	push   %ebx
406f6a:	56                   	push   %esi
406f6b:	33 c0                	xor    %eax,%eax
406f6d:	68 06 02 00 00       	push   $0x206
406f72:	50                   	push   %eax
406f73:	8d 8d e6 fd ff ff    	lea    -0x21a(%ebp),%ecx
406f79:	51                   	push   %ecx
406f7a:	32 db                	xor    %bl,%bl
406f7c:	66 89 85 e4 fd ff ff 	mov    %ax,-0x21c(%ebp)
406f83:	e8 58 14 01 00       	call   0x4183e0
406f88:	8b 75 08             	mov    0x8(%ebp),%esi
406f8b:	8d 95 e4 fd ff ff    	lea    -0x21c(%ebp),%edx
406f91:	52                   	push   %edx
406f92:	8d 45 ec             	lea    -0x14(%ebp),%eax
406f95:	50                   	push   %eax
406f96:	33 c9                	xor    %ecx,%ecx
406f98:	56                   	push   %esi
406f99:	c7 45 ec 55 00 53 00 	movl   $0x530055,-0x14(%ebp)
406fa0:	c7 45 f0 45 00 52 00 	movl   $0x520045,-0x10(%ebp)
406fa7:	c7 45 f4 4e 00 41 00 	movl   $0x41004e,-0xc(%ebp)
406fae:	c7 45 f8 4d 00 45 00 	movl   $0x45004d,-0x8(%ebp)
406fb5:	66 89 4d fc          	mov    %cx,-0x4(%ebp)
406fb9:	e8 82 16 00 00       	call   0x408640
406fbe:	83 c4 18             	add    $0x18,%esp
406fc1:	8d 8d e4 fd ff ff    	lea    -0x21c(%ebp),%ecx
406fc7:	51                   	push   %ecx
406fc8:	6a 06                	push   $0x6
406fca:	6a 63                	push   $0x63
406fcc:	6a 6a                	push   $0x6a
406fce:	56                   	push   %esi
406fcf:	e8 3c b2 00 00       	call   0x412210
406fd4:	83 c4 08             	add    $0x8,%esp
406fd7:	50                   	push   %eax
406fd8:	e8 33 1e 01 00       	call   0x418e10
406fdd:	83 c4 10             	add    $0x10,%esp
406fe0:	85 c0                	test   %eax,%eax
406fe2:	0f 85 da 00 00 00    	jne    0x4070c2
406fe8:	8d 95 e4 fd ff ff    	lea    -0x21c(%ebp),%edx
406fee:	52                   	push   %edx
406fef:	6a 08                	push   $0x8
406ff1:	6a 73                	push   $0x73
406ff3:	6a 6b                	push   $0x6b
406ff5:	56                   	push   %esi
406ff6:	e8 15 b2 00 00       	call   0x412210
406ffb:	83 c4 08             	add    $0x8,%esp
406ffe:	50                   	push   %eax
406fff:	e8 0c 1e 01 00       	call   0x418e10
407004:	83 c4 10             	add    $0x10,%esp
407007:	85 c0                	test   %eax,%eax
407009:	0f 85 b3 00 00 00    	jne    0x4070c2
40700f:	8d 85 e4 fd ff ff    	lea    -0x21c(%ebp),%eax
407015:	50                   	push   %eax
407016:	6a 08                	push   $0x8
407018:	6a 6e                	push   $0x6e
40701a:	6a 6c                	push   $0x6c
40701c:	56                   	push   %esi
40701d:	e8 ee b1 00 00       	call   0x412210
407022:	83 c4 08             	add    $0x8,%esp
407025:	50                   	push   %eax
407026:	e8 e5 1d 01 00       	call   0x418e10
40702b:	83 c4 10             	add    $0x10,%esp
40702e:	85 c0                	test   %eax,%eax
407030:	0f 85 8c 00 00 00    	jne    0x4070c2
407036:	8d 8d e4 fd ff ff    	lea    -0x21c(%ebp),%ecx
40703c:	51                   	push   %ecx
40703d:	6a 08                	push   $0x8
40703f:	6a 78                	push   $0x78
407041:	6a 6d                	push   $0x6d
407043:	56                   	push   %esi
407044:	e8 c7 b1 00 00       	call   0x412210
407049:	83 c4 08             	add    $0x8,%esp
40704c:	50                   	push   %eax
40704d:	e8 be 1d 01 00       	call   0x418e10
407052:	83 c4 10             	add    $0x10,%esp
407055:	85 c0                	test   %eax,%eax
407057:	75 69                	jne    0x4070c2
407059:	8d 95 e4 fd ff ff    	lea    -0x21c(%ebp),%edx
40705f:	52                   	push   %edx
407060:	6a 05                	push   $0x5
407062:	6a 63                	push   $0x63
407064:	6a 6e                	push   $0x6e
407066:	56                   	push   %esi
407067:	e8 a4 b1 00 00       	call   0x412210
40706c:	83 c4 08             	add    $0x8,%esp
40706f:	50                   	push   %eax
407070:	e8 9b 1d 01 00       	call   0x418e10
407075:	83 c4 10             	add    $0x10,%esp
407078:	85 c0                	test   %eax,%eax
40707a:	75 46                	jne    0x4070c2
40707c:	8d 85 e4 fd ff ff    	lea    -0x21c(%ebp),%eax
407082:	50                   	push   %eax
407083:	6a 0a                	push   $0xa
407085:	6a 77                	push   $0x77
407087:	6a 6f                	push   $0x6f
407089:	56                   	push   %esi
40708a:	e8 81 b1 00 00       	call   0x412210
40708f:	83 c4 08             	add    $0x8,%esp
407092:	50                   	push   %eax
407093:	e8 78 1d 01 00       	call   0x418e10
407098:	83 c4 10             	add    $0x10,%esp
40709b:	85 c0                	test   %eax,%eax
40709d:	75 23                	jne    0x4070c2
40709f:	8d 8d e4 fd ff ff    	lea    -0x21c(%ebp),%ecx
4070a5:	51                   	push   %ecx
4070a6:	6a 0a                	push   $0xa
4070a8:	6a 78                	push   $0x78
4070aa:	6a 70                	push   $0x70
4070ac:	56                   	push   %esi
4070ad:	e8 5e b1 00 00       	call   0x412210
4070b2:	83 c4 08             	add    $0x8,%esp
4070b5:	50                   	push   %eax
4070b6:	e8 55 1d 01 00       	call   0x418e10
4070bb:	83 c4 10             	add    $0x10,%esp
4070be:	85 c0                	test   %eax,%eax
4070c0:	74 0d                	je     0x4070cf
4070c2:	8b 56 04             	mov    0x4(%esi),%edx
4070c5:	31 96 98 04 00 00    	xor    %edx,0x498(%esi)
4070cb:	b3 01                	mov    $0x1,%bl
4070cd:	eb 07                	jmp    0x4070d6
4070cf:	83 86 68 04 00 00 f7 	addl   $0xfffffff7,0x468(%esi)
4070d6:	00 5e 2d             	add    %bl,0x2d(%esi)
4070d9:	8a 46 2d             	mov    0x2d(%esi),%al
4070dc:	fe c0                	inc    %al
4070de:	00 46 2e             	add    %al,0x2e(%esi)
4070e1:	5e                   	pop    %esi
4070e2:	b8 01 00 00 00       	mov    $0x1,%eax
4070e7:	5b                   	pop    %ebx
4070e8:	8b e5                	mov    %ebp,%esp
4070ea:	5d                   	pop    %ebp
4070eb:	c3                   	ret
4070ec:	2e b9 a0 45 55 8b    	cs mov $0x8b5545a0,%ecx
4070f2:	ec                   	in     (%dx),%al
4070f3:	53                   	push   %ebx
4070f4:	56                   	push   %esi
4070f5:	57                   	push   %edi
4070f6:	6a 00                	push   $0x0
4070f8:	32 db                	xor    %bl,%bl
4070fa:	e8 a1 0a 01 00       	call   0x417ba0
4070ff:	8b 75 08             	mov    0x8(%ebp),%esi
407102:	8b f8                	mov    %eax,%edi
407104:	83 c4 04             	add    $0x4,%esp
407107:	83 7f 18 00          	cmpl   $0x0,0x18(%edi)
40710b:	0f 84 fb 00 00 00    	je     0x40720c
407111:	8b 47 28             	mov    0x28(%edi),%eax
407114:	50                   	push   %eax
407115:	6a 08                	push   $0x8
407117:	6a 5c                	push   $0x5c
407119:	6a 63                	push   $0x63
40711b:	56                   	push   %esi
40711c:	e8 ef b0 00 00       	call   0x412210
407121:	83 c4 08             	add    $0x8,%esp
407124:	50                   	push   %eax
407125:	e8 e6 1c 01 00       	call   0x418e10
40712a:	83 c4 10             	add    $0x10,%esp
40712d:	85 c0                	test   %eax,%eax
40712f:	0f 85 f3 00 00 00    	jne    0x407228
407135:	8b 4f 28             	mov    0x28(%edi),%ecx
407138:	51                   	push   %ecx
407139:	6a 0c                	push   $0xc
40713b:	6a 5c                	push   $0x5c
40713d:	6a 64                	push   $0x64
40713f:	56                   	push   %esi
407140:	e8 cb b0 00 00       	call   0x412210
407145:	83 c4 08             	add    $0x8,%esp
407148:	50                   	push   %eax
407149:	e8 c2 1c 01 00       	call   0x418e10
40714e:	83 c4 10             	add    $0x10,%esp
407151:	85 c0                	test   %eax,%eax
407153:	0f 85 cf 00 00 00    	jne    0x407228
407159:	8b 57 28             	mov    0x28(%edi),%edx
40715c:	52                   	push   %edx
40715d:	6a 08                	push   $0x8
40715f:	6a 5c                	push   $0x5c
407161:	6a 65                	push   $0x65
407163:	56                   	push   %esi
407164:	e8 a7 b0 00 00       	call   0x412210
407169:	83 c4 08             	add    $0x8,%esp
40716c:	50                   	push   %eax
40716d:	e8 9e 1c 01 00       	call   0x418e10
407172:	83 c4 10             	add    $0x10,%esp
407175:	85 c0                	test   %eax,%eax
407177:	0f 85 ab 00 00 00    	jne    0x407228
40717d:	8b 47 28             	mov    0x28(%edi),%eax
407180:	50                   	push   %eax
407181:	6a 09                	push   $0x9
407183:	6a 5c                	push   $0x5c
407185:	6a 66                	push   $0x66
407187:	56                   	push   %esi
407188:	e8 83 b0 00 00       	call   0x412210
40718d:	83 c4 08             	add    $0x8,%esp
407190:	50                   	push   %eax
407191:	e8 7a 1c 01 00       	call   0x418e10
407196:	83 c4 10             	add    $0x10,%esp
407199:	85 c0                	test   %eax,%eax
40719b:	0f 85 87 00 00 00    	jne    0x407228
4071a1:	8b 4f 28             	mov    0x28(%edi),%ecx
4071a4:	51                   	push   %ecx
4071a5:	6a 08                	push   $0x8
4071a7:	6a 5c                	push   $0x5c
4071a9:	6a 67                	push   $0x67
4071ab:	56                   	push   %esi
4071ac:	e8 5f b0 00 00       	call   0x412210
4071b1:	83 c4 08             	add    $0x8,%esp
4071b4:	50                   	push   %eax
4071b5:	e8 56 1c 01 00       	call   0x418e10
4071ba:	83 c4 10             	add    $0x10,%esp
4071bd:	85 c0                	test   %eax,%eax
4071bf:	75 67                	jne    0x407228
4071c1:	8b 57 28             	mov    0x28(%edi),%edx
4071c4:	52                   	push   %edx
4071c5:	6a 09                	push   $0x9
4071c7:	6a 5c                	push   $0x5c
4071c9:	6a 68                	push   $0x68
4071cb:	56                   	push   %esi
4071cc:	e8 3f b0 00 00       	call   0x412210
4071d1:	83 c4 08             	add    $0x8,%esp
4071d4:	50                   	push   %eax
4071d5:	e8 36 1c 01 00       	call   0x418e10
4071da:	83 c4 10             	add    $0x10,%esp
4071dd:	85 c0                	test   %eax,%eax
4071df:	75 47                	jne    0x407228
4071e1:	8b 47 28             	mov    0x28(%edi),%eax
4071e4:	50                   	push   %eax
4071e5:	6a 0e                	push   $0xe
4071e7:	6a 5c                	push   $0x5c
4071e9:	6a 69                	push   $0x69
4071eb:	56                   	push   %esi
4071ec:	e8 1f b0 00 00       	call   0x412210
4071f1:	83 c4 08             	add    $0x8,%esp
4071f4:	50                   	push   %eax
4071f5:	e8 16 1c 01 00       	call   0x418e10
4071fa:	83 c4 10             	add    $0x10,%esp
4071fd:	85 c0                	test   %eax,%eax
4071ff:	75 27                	jne    0x407228
407201:	8b 3f                	mov    (%edi),%edi
407203:	39 47 18             	cmp    %eax,0x18(%edi)
407206:	0f 85 05 ff ff ff    	jne    0x407111
40720c:	83 86 64 04 00 00 f8 	addl   $0xfffffff8,0x464(%esi)
407213:	00 5e 2f             	add    %bl,0x2f(%esi)
407216:	8a 46 2f             	mov    0x2f(%esi),%al
407219:	fe c0                	inc    %al
40721b:	00 46 30             	add    %al,0x30(%esi)
40721e:	5f                   	pop    %edi
40721f:	5e                   	pop    %esi
407220:	b8 01 00 00 00       	mov    $0x1,%eax
407225:	5b                   	pop    %ebx
407226:	5d                   	pop    %ebp
407227:	c3                   	ret
407228:	8b 4e 04             	mov    0x4(%esi),%ecx
40722b:	31 8e 88 04 00 00    	xor    %ecx,0x488(%esi)
407231:	b3 01                	mov    $0x1,%bl
407233:	eb de                	jmp    0x407213
407235:	cc                   	int3
407236:	cc                   	int3
407237:	cc                   	int3
407238:	cc                   	int3
407239:	cc                   	int3
40723a:	cc                   	int3
40723b:	cc                   	int3
40723c:	cc                   	int3
40723d:	cc                   	int3
40723e:	cc                   	int3
40723f:	cc                   	int3
407240:	55                   	push   %ebp
407241:	8b ec                	mov    %esp,%ebp
407243:	51                   	push   %ecx
407244:	0f 31                	rdtsc
407246:	33 c9                	xor    %ecx,%ecx
407248:	03 c8                	add    %eax,%ecx
40724a:	0f 31                	rdtsc
40724c:	2b c1                	sub    %ecx,%eax
40724e:	89 45 fc             	mov    %eax,-0x4(%ebp)
407251:	b8 50 00 00 00       	mov    $0x50,%eax
407256:	8b e5                	mov    %ebp,%esp
407258:	5d                   	pop    %ebp
407259:	c3                   	ret
40725a:	79 e8                	jns    0x407244
40725c:	24 c4                	and    $0xc4,%al
40725e:	1e                   	push   %ds
40725f:	d0 55 8b             	rclb   $1,-0x75(%ebp)
407262:	ec                   	in     (%dx),%al
407263:	56                   	push   %esi
407264:	8b 75 08             	mov    0x8(%ebp),%esi
407267:	81 c6 1c 0a 00 00    	add    $0xa1c,%esi
40726d:	56                   	push   %esi
40726e:	e8 bd 22 01 00       	call   0x419530
407273:	83 c4 04             	add    $0x4,%esp
407276:	33 c9                	xor    %ecx,%ecx
407278:	85 c0                	test   %eax,%eax
40727a:	74 11                	je     0x40728d
40727c:	8b 16                	mov    (%esi),%edx
40727e:	8b 75 0c             	mov    0xc(%ebp),%esi
407281:	39 32                	cmp    %esi,(%edx)
407283:	74 0d                	je     0x407292
407285:	41                   	inc    %ecx
407286:	83 c2 04             	add    $0x4,%edx
407289:	3b c8                	cmp    %eax,%ecx
40728b:	72 f4                	jb     0x407281
40728d:	33 c0                	xor    %eax,%eax
40728f:	5e                   	pop    %esi
407290:	5d                   	pop    %ebp
407291:	c3                   	ret
407292:	b8 01 00 00 00       	mov    $0x1,%eax
407297:	5e                   	pop    %esi
407298:	5d                   	pop    %ebp
407299:	c3                   	ret
40729a:	23 e0                	and    %eax,%esp
40729c:	b8 74 24 5b 55       	mov    $0x555b2474,%eax
4072a1:	8b ec                	mov    %esp,%ebp
4072a3:	81 ec f4 00 00 00    	sub    $0xf4,%esp
4072a9:	53                   	push   %ebx
4072aa:	57                   	push   %edi
4072ab:	8b 7d 0c             	mov    0xc(%ebp),%edi