409e77:	0c a9                	or     $0xa9,%al
409e79:	20 05 ed 1d c4 5f    	and    %al,0x5fc41ded
409e7f:	4a                   	dec    %edx
409e80:	55                   	push   %ebp
409e81:	8b ec                	mov    %esp,%ebp
409e83:	83 ec 18             	sub    $0x18,%esp
409e86:	56                   	push   %esi
409e87:	8b 75 0c             	mov    0xc(%ebp),%esi
409e8a:	33 c0                	xor    %eax,%eax
409e8c:	57                   	push   %edi
409e8d:	8b 7d 08             	mov    0x8(%ebp),%edi
409e90:	50                   	push   %eax
409e91:	6a 18                	push   $0x18
409e93:	89 45 ec             	mov    %eax,-0x14(%ebp)
409e96:	89 45 f0             	mov    %eax,-0x10(%ebp)
409e99:	89 45 f4             	mov    %eax,-0xc(%ebp)
409e9c:	89 45 f8             	mov    %eax,-0x8(%ebp)
409e9f:	89 45 fc             	mov    %eax,-0x4(%ebp)
409ea2:	8d 45 e8             	lea    -0x18(%ebp),%eax
409ea5:	50                   	push   %eax
409ea6:	6a 00                	push   $0x0
409ea8:	56                   	push   %esi
409ea9:	57                   	push   %edi
409eaa:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
409eb1:	e8 aa c8 00 00       	call   0x416760
409eb6:	8b 4d 14             	mov    0x14(%ebp),%ecx
409eb9:	8b 55 10             	mov    0x10(%ebp),%edx
409ebc:	8b 45 ec             	mov    -0x14(%ebp),%eax
409ebf:	6a 00                	push   $0x0
409ec1:	51                   	push   %ecx
409ec2:	52                   	push   %edx
409ec3:	50                   	push   %eax
409ec4:	56                   	push   %esi
409ec5:	57                   	push   %edi
409ec6:	e8 95 ce 00 00       	call   0x416d60
409ecb:	83 c4 30             	add    $0x30,%esp
409ece:	33 c9                	xor    %ecx,%ecx
409ed0:	85 c0                	test   %eax,%eax
409ed2:	0f 99 c1             	setns  %cl
409ed5:	5f                   	pop    %edi
409ed6:	5e                   	pop    %esi
409ed7:	8b c1                	mov    %ecx,%eax
409ed9:	8b e5                	mov    %ebp,%esp
409edb:	5d                   	pop    %ebp
409edc:	c3                   	ret
409edd:	02 63 d5             	add    -0x2b(%ebx),%ah
409ee0:	55                   	push   %ebp
409ee1:	8b ec                	mov    %esp,%ebp
409ee3:	81 ec 3c 03 00 00    	sub    $0x33c,%esp
409ee9:	53                   	push   %ebx
409eea:	56                   	push   %esi
409eeb:	8b 75 08             	mov    0x8(%ebp),%esi
409eee:	33 db                	xor    %ebx,%ebx
409ef0:	57                   	push   %edi
409ef1:	39 9e d0 07 00 00    	cmp    %ebx,0x7d0(%esi)
409ef7:	75 09                	jne    0x409f02
409ef9:	56                   	push   %esi
409efa:	e8 41 28 00 00       	call   0x40c740
409eff:	83 c4 04             	add    $0x4,%esp
409f02:	8b 7d 10             	mov    0x10(%ebp),%edi
409f05:	8b 47 08             	mov    0x8(%edi),%eax
409f08:	83 c7 08             	add    $0x8,%edi
409f0b:	50                   	push   %eax
409f0c:	56                   	push   %esi
409f0d:	e8 4e d3 ff ff       	call   0x407260
409f12:	83 c4 08             	add    $0x8,%esp
409f15:	85 c0                	test   %eax,%eax
409f17:	0f 85 93 02 00 00    	jne    0x40a1b0
409f1d:	57                   	push   %edi
409f1e:	8d 8e 1c 0a 00 00    	lea    0xa1c(%esi),%ecx
409f24:	51                   	push   %ecx
409f25:	56                   	push   %esi
409f26:	e8 b5 f6 00 00       	call   0x4195e0
409f2b:	83 c4 0c             	add    $0xc,%esp
409f2e:	39 9e 70 0b 00 00    	cmp    %ebx,0xb70(%esi)
409f34:	74 0a                	je     0x409f40
409f36:	83 7d 1c 04          	cmpl   $0x4,0x1c(%ebp)
409f3a:	0f 82 70 02 00 00    	jb     0x40a1b0
409f40:	83 7d 1c 01          	cmpl   $0x1,0x1c(%ebp)
409f44:	75 0e                	jne    0x409f54
409f46:	68 80 0f 05 fd       	push   $0xfd050f80
409f4b:	56                   	push   %esi
409f4c:	e8 3f 2e 00 00       	call   0x40cd90
409f51:	83 c4 08             	add    $0x8,%esp
409f54:	68 c8 02 00 00       	push   $0x2c8
409f59:	8d 95 c8 fc ff ff    	lea    -0x338(%ebp),%edx
409f5f:	53                   	push   %ebx
409f60:	52                   	push   %edx
409f61:	e8 7a e4 00 00       	call   0x4183e0
409f66:	8b 07                	mov    (%edi),%eax
409f68:	8d 4d e8             	lea    -0x18(%ebp),%ecx
409f6b:	51                   	push   %ecx
409f6c:	8d 55 d0             	lea    -0x30(%ebp),%edx
409f6f:	52                   	push   %edx
409f70:	89 45 e8             	mov    %eax,-0x18(%ebp)
409f73:	68 38 04 00 00       	push   $0x438
409f78:	8d 45 08             	lea    0x8(%ebp),%eax
409f7b:	50                   	push   %eax
409f7c:	56                   	push   %esi
409f7d:	89 5d ec             	mov    %ebx,-0x14(%ebp)
409f80:	c7 85 c4 fc ff ff 07 	movl   $0x10007,-0x33c(%ebp)
409f87:	00 01 00
409f8a:	c7 45 d0 18 00 00 00 	movl   $0x18,-0x30(%ebp)
409f91:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
409f94:	89 5d dc             	mov    %ebx,-0x24(%ebp)
409f97:	89 5d d8             	mov    %ebx,-0x28(%ebp)
409f9a:	89 5d e0             	mov    %ebx,-0x20(%ebp)
409f9d:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
409fa0:	e8 cb c5 00 00       	call   0x416570
409fa5:	83 c4 20             	add    $0x20,%esp
409fa8:	85 c0                	test   %eax,%eax
409faa:	0f 88 00 02 00 00    	js     0x40a1b0
409fb0:	89 5d f8             	mov    %ebx,-0x8(%ebp)
409fb3:	39 5e 1c             	cmp    %ebx,0x1c(%esi)
409fb6:	0f 84 bf 00 00 00    	je     0x40a07b
409fbc:	8b 55 08             	mov    0x8(%ebp),%edx
409fbf:	53                   	push   %ebx
409fc0:	6a 04                	push   $0x4
409fc2:	8d 4d f8             	lea    -0x8(%ebp),%ecx
409fc5:	51                   	push   %ecx
409fc6:	6a 1a                	push   $0x1a
409fc8:	52                   	push   %edx
409fc9:	56                   	push   %esi
409fca:	e8 91 c7 00 00       	call   0x416760
409fcf:	83 c4 18             	add    $0x18,%esp
409fd2:	39 5d f8             	cmp    %ebx,-0x8(%ebp)
409fd5:	0f 85 a0 00 00 00    	jne    0x40a07b
409fdb:	8b 7d 18             	mov    0x18(%ebp),%edi
409fde:	39 5f 10             	cmp    %ebx,0x10(%edi)
409fe1:	0f 84 c9 01 00 00    	je     0x40a1b0
409fe7:	83 7d 1c 2c          	cmpl   $0x2c,0x1c(%ebp)
409feb:	0f 83 bf 01 00 00    	jae    0x40a1b0
409ff1:	39 9e d4 07 00 00    	cmp    %ebx,0x7d4(%esi)
409ff7:	74 3e                	je     0x40a037
409ff9:	8b 55 08             	mov    0x8(%ebp),%edx
409ffc:	6a 04                	push   $0x4
409ffe:	53                   	push   %ebx
409fff:	6a 01                	push   $0x1
40a001:	8d 45 f0             	lea    -0x10(%ebp),%eax
40a004:	50                   	push   %eax
40a005:	8b 86 dc 07 00 00    	mov    0x7dc(%esi),%eax
40a00b:	53                   	push   %ebx
40a00c:	53                   	push   %ebx
40a00d:	53                   	push   %ebx
40a00e:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40a011:	51                   	push   %ecx
40a012:	52                   	push   %edx
40a013:	50                   	push   %eax
40a014:	56                   	push   %esi
40a015:	89 5d f4             	mov    %ebx,-0xc(%ebp)
40a018:	c7 45 f0 00 40 9c 00 	movl   $0x9c4000,-0x10(%ebp)
40a01f:	e8 4c c8 00 00       	call   0x416870
40a024:	83 c4 2c             	add    $0x2c,%esp
40a027:	85 c0                	test   %eax,%eax
40a029:	78 0c                	js     0x40a037
40a02b:	8b 47 1c             	mov    0x1c(%edi),%eax
40a02e:	3b c3                	cmp    %ebx,%eax
40a030:	74 05                	je     0x40a037
40a032:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40a035:	89 08                	mov    %ecx,(%eax)
40a037:	8b 55 08             	mov    0x8(%ebp),%edx
40a03a:	52                   	push   %edx
40a03b:	56                   	push   %esi
40a03c:	e8 af cc 00 00       	call   0x416cf0
40a041:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
40a044:	8b 45 14             	mov    0x14(%ebp),%eax
40a047:	8b 4d 10             	mov    0x10(%ebp),%ecx
40a04a:	8b 55 0c             	mov    0xc(%ebp),%edx
40a04d:	53                   	push   %ebx
40a04e:	57                   	push   %edi
40a04f:	50                   	push   %eax
40a050:	51                   	push   %ecx
40a051:	52                   	push   %edx
40a052:	56                   	push   %esi
40a053:	e8 38 bb 00 00       	call   0x415b90
40a058:	83 c4 20             	add    $0x20,%esp
40a05b:	83 fb 04             	cmp    $0x4,%ebx
40a05e:	0f 85 4c 01 00 00    	jne    0x40a1b0
40a064:	8b 86 20 0a 00 00    	mov    0xa20(%esi),%eax
40a06a:	50                   	push   %eax
40a06b:	56                   	push   %esi
40a06c:	e8 cf bb ff ff       	call   0x405c40
40a071:	83 c4 08             	add    $0x8,%esp
40a074:	5f                   	pop    %edi
40a075:	5e                   	pop    %esi
40a076:	5b                   	pop    %ebx
40a077:	8b e5                	mov    %ebp,%esp
40a079:	5d                   	pop    %ebp
40a07a:	c3                   	ret
40a07b:	6a 3f                	push   $0x3f
40a07d:	8d 4d 91             	lea    -0x6f(%ebp),%ecx
40a080:	53                   	push   %ebx
40a081:	51                   	push   %ecx
40a082:	88 5d 90             	mov    %bl,-0x70(%ebp)
40a085:	e8 56 e3 00 00       	call   0x4183e0
40a08a:	8b 45 08             	mov    0x8(%ebp),%eax
40a08d:	6a 20                	push   $0x20
40a08f:	8d 55 90             	lea    -0x70(%ebp),%edx
40a092:	52                   	push   %edx
40a093:	50                   	push   %eax
40a094:	56                   	push   %esi
40a095:	e8 e6 fd ff ff       	call   0x409e80
40a09a:	83 c4 1c             	add    $0x1c,%esp
40a09d:	38 5d 92             	cmp    %bl,-0x6e(%ebp)
40a0a0:	74 14                	je     0x40a0b6
40a0a2:	8b 4d 08             	mov    0x8(%ebp),%ecx
40a0a5:	51                   	push   %ecx
40a0a6:	56                   	push   %esi
40a0a7:	e8 44 cc 00 00       	call   0x416cf0
40a0ac:	83 c4 08             	add    $0x8,%esp
40a0af:	5f                   	pop    %edi
40a0b0:	5e                   	pop    %esi
40a0b1:	5b                   	pop    %ebx
40a0b2:	8b e5                	mov    %ebp,%esp
40a0b4:	5d                   	pop    %ebp
40a0b5:	c3                   	ret
40a0b6:	8b 45 0c             	mov    0xc(%ebp),%eax
40a0b9:	8d 55 fc             	lea    -0x4(%ebp),%edx
40a0bc:	52                   	push   %edx
40a0bd:	50                   	push   %eax
40a0be:	56                   	push   %esi
40a0bf:	e8 2c fd ff ff       	call   0x409df0
40a0c4:	83 c4 0c             	add    $0xc,%esp
40a0c7:	85 c0                	test   %eax,%eax
40a0c9:	74 d7                	je     0x40a0a2
40a0cb:	8b 7d 18             	mov    0x18(%ebp),%edi
40a0ce:	39 9e d4 07 00 00    	cmp    %ebx,0x7d4(%esi)
40a0d4:	74 10                	je     0x40a0e6
40a0d6:	6a 32                	push   $0x32
40a0d8:	8d 55 08             	lea    0x8(%ebp),%edx
40a0db:	52                   	push   %edx
40a0dc:	57                   	push   %edi
40a0dd:	56                   	push   %esi
40a0de:	e8 8d fc ff ff       	call   0x409d70
40a0e3:	83 c4 10             	add    $0x10,%esp
40a0e6:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40a0e9:	8d 85 c4 fc ff ff    	lea    -0x33c(%ebp),%eax
40a0ef:	50                   	push   %eax
40a0f0:	51                   	push   %ecx
40a0f1:	56                   	push   %esi
40a0f2:	e8 f9 c4 00 00       	call   0x4165f0
40a0f7:	8b 57 04             	mov    0x4(%edi),%edx
40a0fa:	c6 02 68             	movb   $0x68,(%edx)
40a0fd:	8b 47 08             	mov    0x8(%edi),%eax
40a100:	8b 8d 7c fd ff ff    	mov    -0x284(%ebp),%ecx
40a106:	89 08                	mov    %ecx,(%eax)
40a108:	8b 17                	mov    (%edi),%edx
40a10a:	8b 45 14             	mov    0x14(%ebp),%eax
40a10d:	6a 02                	push   $0x2
40a10f:	52                   	push   %edx
40a110:	50                   	push   %eax
40a111:	8d 4d 08             	lea    0x8(%ebp),%ecx
40a114:	51                   	push   %ecx
40a115:	56                   	push   %esi
40a116:	e8 d5 fa ff ff       	call   0x409bf0
40a11b:	83 c4 20             	add    $0x20,%esp
40a11e:	89 85 7c fd ff ff    	mov    %eax,-0x284(%ebp)
40a124:	3b c3                	cmp    %ebx,%eax
40a126:	74 43                	je     0x40a16b
40a128:	8b 45 fc             	mov    -0x4(%ebp),%eax
40a12b:	8d 95 c4 fc ff ff    	lea    -0x33c(%ebp),%edx
40a131:	52                   	push   %edx
40a132:	50                   	push   %eax
40a133:	56                   	push   %esi
40a134:	e8 e7 c4 00 00       	call   0x416620
40a139:	8b 45 1c             	mov    0x1c(%ebp),%eax
40a13c:	83 c4 0c             	add    $0xc,%esp
40a13f:	3b c3                	cmp    %ebx,%eax
40a141:	74 0a                	je     0x40a14d
40a143:	83 f8 03             	cmp    $0x3,%eax
40a146:	74 05                	je     0x40a14d
40a148:	83 f8 04             	cmp    $0x4,%eax
40a14b:	75 1e                	jne    0x40a16b
40a14d:	8b 85 7c fd ff ff    	mov    -0x284(%ebp),%eax
40a153:	83 c0 05             	add    $0x5,%eax
40a156:	3b c3                	cmp    %ebx,%eax
40a158:	74 11                	je     0x40a16b
40a15a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40a15d:	53                   	push   %ebx
40a15e:	53                   	push   %ebx
40a15f:	53                   	push   %ebx
40a160:	50                   	push   %eax
40a161:	51                   	push   %ecx
40a162:	56                   	push   %esi
40a163:	e8 48 c5 00 00       	call   0x4166b0
40a168:	83 c4 18             	add    $0x18,%esp
40a16b:	8b 55 fc             	mov    -0x4(%ebp),%edx
40a16e:	53                   	push   %ebx
40a16f:	52                   	push   %edx
40a170:	56                   	push   %esi
40a171:	e8 0a c5 00 00       	call   0x416680
40a176:	8b 45 08             	mov    0x8(%ebp),%eax
40a179:	50                   	push   %eax
40a17a:	56                   	push   %esi
40a17b:	e8 70 cb 00 00       	call   0x416cf0
40a180:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40a183:	51                   	push   %ecx
40a184:	56                   	push   %esi
40a185:	e8 66 cb 00 00       	call   0x416cf0
40a18a:	8b 7f 0c             	mov    0xc(%edi),%edi
40a18d:	83 c4 1c             	add    $0x1c,%esp
40a190:	3b fb                	cmp    %ebx,%edi
40a192:	74 06                	je     0x40a19a
40a194:	c7 07 88 88 88 88    	movl   $0x88888888,(%edi)
40a19a:	83 7d 1c 04          	cmpl   $0x4,0x1c(%ebp)
40a19e:	75 10                	jne    0x40a1b0
40a1a0:	8b 96 20 0a 00 00    	mov    0xa20(%esi),%edx
40a1a6:	52                   	push   %edx
40a1a7:	56                   	push   %esi
40a1a8:	e8 93 ba ff ff       	call   0x405c40
40a1ad:	83 c4 08             	add    $0x8,%esp
40a1b0:	5f                   	pop    %edi
40a1b1:	5e                   	pop    %esi
40a1b2:	5b                   	pop    %ebx
40a1b3:	8b e5                	mov    %ebp,%esp
40a1b5:	5d                   	pop    %ebp
40a1b6:	c3                   	ret
40a1b7:	2f                   	das
40a1b8:	c3                   	ret
40a1b9:	10 40 dc             	adc    %al,-0x24(%eax)
40a1bc:	30 a8 13 c9 55 8b    	xor    %ch,-0x74aa36ed(%eax)
40a1c2:	ec                   	in     (%dx),%al
40a1c3:	81 ec 88 03 00 00    	sub    $0x388,%esp
40a1c9:	56                   	push   %esi
40a1ca:	8b 75 08             	mov    0x8(%ebp),%esi
40a1cd:	83 be f0 09 00 00 00 	cmpl   $0x0,0x9f0(%esi)
40a1d4:	75 0a                	jne    0x40a1e0
40a1d6:	b8 01 00 00 00       	mov    $0x1,%eax
40a1db:	5e                   	pop    %esi
40a1dc:	8b e5                	mov    %ebp,%esp
40a1de:	5d                   	pop    %ebp
40a1df:	c3                   	ret
40a1e0:	57                   	push   %edi
40a1e1:	33 c0                	xor    %eax,%eax
40a1e3:	68 06 02 00 00       	push   $0x206
40a1e8:	50                   	push   %eax
40a1e9:	8d 8d 7a fc ff ff    	lea    -0x386(%ebp),%ecx
40a1ef:	51                   	push   %ecx
40a1f0:	66 89 85 78 fc ff ff 	mov    %ax,-0x388(%ebp)
40a1f7:	e8 e4 e1 00 00       	call   0x4183e0
40a1fc:	6a 7e                	push   $0x7e
40a1fe:	8d 95 82 fe ff ff    	lea    -0x17e(%ebp),%edx
40a204:	6a 00                	push   $0x0
40a206:	52                   	push   %edx
40a207:	e8 d4 e1 00 00       	call   0x4183e0
40a20c:	6a 7e                	push   $0x7e
40a20e:	8d 85 02 ff ff ff    	lea    -0xfe(%ebp),%eax
40a214:	6a 00                	push   $0x0
40a216:	50                   	push   %eax
40a217:	e8 c4 e1 00 00       	call   0x4183e0