406e66:	5e                   	pop    %esi
406e67:	5b                   	pop    %ebx
406e68:	c3                   	ret
406e69:	8d 40 00             	lea    0x0(%eax),%eax
406e6c:	53                   	push   %ebx
406e6d:	56                   	push   %esi
406e6e:	51                   	push   %ecx
406e6f:	8b f0                	mov    %eax,%esi
406e71:	b8 88 61 42 00       	mov    $0x426188,%eax
406e76:	e8 d9 fc ff ff       	call   0x406b54
406e7b:	89 04 24             	mov    %eax,(%esp)
406e7e:	8b 04 24             	mov    (%esp),%eax
406e81:	8b 15 cc 60 42 00    	mov    0x4260cc,%edx
406e87:	89 50 28             	mov    %edx,0x28(%eax)
406e8a:	8b 04 24             	mov    (%esp),%eax
406e8d:	c7 40 2c c0 6b 40 00 	movl   $0x406bc0,0x2c(%eax)
406e94:	8b 04 24             	mov    (%esp),%eax
406e97:	c7 40 24 c8 6c 40 00 	movl   $0x406cc8,0x24(%eax)
406e9e:	bb 00 02 00 00       	mov    $0x200,%ebx
406ea3:	8b c6                	mov    %esi,%eax
406ea5:	e8 5e 6a 00 00       	call   0x40d908
406eaa:	84 c0                	test   %al,%al
406eac:	74 05                	je     0x406eb3
406eae:	bb 00 03 00 00       	mov    $0x300,%ebx
406eb3:	8b d3                	mov    %ebx,%edx
406eb5:	81 ca 00 00 00 c0    	or     $0xc0000000,%edx
406ebb:	83 ca 01             	or     $0x1,%edx
406ebe:	8b c6                	mov    %esi,%eax
406ec0:	e8 43 3b 00 00       	call   0x40aa08
406ec5:	8b 14 24             	mov    (%esp),%edx
406ec8:	89 42 40             	mov    %eax,0x40(%edx)
406ecb:	8b 04 24             	mov    (%esp),%eax
406ece:	5a                   	pop    %edx
406ecf:	5e                   	pop    %esi
406ed0:	5b                   	pop    %ebx
406ed1:	c3                   	ret
406ed2:	8b c0                	mov    %eax,%eax
406ed4:	51                   	push   %ecx
406ed5:	b8 a8 61 42 00       	mov    $0x4261a8,%eax
406eda:	e8 75 fc ff ff       	call   0x406b54
406edf:	89 04 24             	mov    %eax,(%esp)
406ee2:	8b 04 24             	mov    (%esp),%eax
406ee5:	5a                   	pop    %edx
406ee6:	c3                   	ret
406ee7:	90                   	nop
406ee8:	c3                   	ret
406ee9:	8d 40 00             	lea    0x0(%eax),%eax
406eec:	53                   	push   %ebx
406eed:	56                   	push   %esi
406eee:	83 c4 f4             	add    $0xfffffff4,%esp
406ef1:	8b d8                	mov    %eax,%ebx
406ef3:	8b f4                	mov    %esp,%esi
406ef5:	e8 da ff ff ff       	call   0x406ed4
406efa:	89 06                	mov    %eax,(%esi)
406efc:	8b 06                	mov    (%esi),%eax
406efe:	89 58 54             	mov    %ebx,0x54(%eax)
406f01:	e8 b2 e2 ff ff       	call   0x4051b8
406f06:	8b 16                	mov    (%esi),%edx
406f08:	89 42 58             	mov    %eax,0x58(%edx)
406f0b:	8b 06                	mov    (%esi),%eax
406f0d:	c7 40 2c 00 6d 40 00 	movl   $0x406d00,0x2c(%eax)
406f14:	8b 06                	mov    (%esi),%eax
406f16:	c7 40 24 a8 6b 40 00 	movl   $0x406ba8,0x24(%eax)
406f1d:	8b 06                	mov    (%esi),%eax
406f1f:	c7 40 30 e8 6e 40 00 	movl   $0x406ee8,0x30(%eax)
406f26:	8b 06                	mov    (%esi),%eax
406f28:	c7 40 28 ac 6b 40 00 	movl   $0x406bac,0x28(%eax)
406f2f:	8b 06                	mov    (%esi),%eax
406f31:	c7 40 1c b0 6b 40 00 	movl   $0x406bb0,0x1c(%eax)
406f38:	8b 06                	mov    (%esi),%eax
406f3a:	c7 40 24 b4 6d 40 00 	movl   $0x406db4,0x24(%eax)
406f41:	8d 4c 24 04          	lea    0x4(%esp),%ecx
406f45:	ba 34 6e 40 00       	mov    $0x406e34,%edx
406f4a:	8b 06                	mov    (%esi),%eax
406f4c:	e8 4f e1 ff ff       	call   0x4050a0
406f51:	ff 74 24 08          	push   0x8(%esp)
406f55:	ff 74 24 08          	push   0x8(%esp)
406f59:	8b 06                	mov    (%esi),%eax
406f5b:	e8 fc 32 00 00       	call   0x40a25c
406f60:	8b 06                	mov    (%esi),%eax
406f62:	83 c4 0c             	add    $0xc,%esp
406f65:	5e                   	pop    %esi
406f66:	5b                   	pop    %ebx
406f67:	c3                   	ret
406f68:	55                   	push   %ebp
406f69:	8b ec                	mov    %esp,%ebp
406f6b:	81 c4 04 f0 ff ff    	add    $0xfffff004,%esp
406f71:	50                   	push   %eax
406f72:	83 c4 fc             	add    $0xfffffffc,%esp
406f75:	53                   	push   %ebx
406f76:	56                   	push   %esi
406f77:	57                   	push   %edi
406f78:	8b f1                	mov    %ecx,%esi
406f7a:	89 55 fc             	mov    %edx,-0x4(%ebp)
406f7d:	8b d8                	mov    %eax,%ebx
406f7f:	8b 7d 08             	mov    0x8(%ebp),%edi
406f82:	80 7b 18 00          	cmpb   $0x0,0x18(%ebx)
406f86:	75 5c                	jne    0x406fe4
406f88:	c6 85 fc ef ff ff 00 	movb   $0x0,-0x1004(%ebp)
406f8f:	8b 43 19             	mov    0x19(%ebx),%eax
406f92:	e8 5d cb ff ff       	call   0x403af4
406f97:	50                   	push   %eax
406f98:	68 00 10 00 00       	push   $0x1000
406f9d:	8d 85 fc ef ff ff    	lea    -0x1004(%ebp),%eax
406fa3:	50                   	push   %eax
406fa4:	8b c6                	mov    %esi,%eax
406fa6:	e8 49 cb ff ff       	call   0x403af4
406fab:	50                   	push   %eax
406fac:	8b 45 fc             	mov    -0x4(%ebp),%eax
406faf:	e8 40 cb ff ff       	call   0x403af4
406fb4:	50                   	push   %eax
406fb5:	8b 43 1d             	mov    0x1d(%ebx),%eax
406fb8:	e8 37 cb ff ff       	call   0x403af4
406fbd:	50                   	push   %eax
406fbe:	e8 21 df ff ff       	call   0x404ee4
406fc3:	85 c0                	test   %eax,%eax
406fc5:	74 14                	je     0x406fdb
406fc7:	8b c7                	mov    %edi,%eax
406fc9:	8d 95 fc ef ff ff    	lea    -0x1004(%ebp),%edx
406fcf:	b9 00 10 00 00       	mov    $0x1000,%ecx
406fd4:	e8 03 c9 ff ff       	call   0x4038dc
406fd9:	eb 3a                	jmp    0x407015
406fdb:	8b c7                	mov    %edi,%eax
406fdd:	e8 b2 c6 ff ff       	call   0x403694
406fe2:	eb 31                	jmp    0x407015
406fe4:	8b c7                	mov    %edi,%eax
406fe6:	8b d6                	mov    %esi,%edx
406fe8:	e8 fb c6 ff ff       	call   0x4036e8
406fed:	8b 43 19             	mov    0x19(%ebx),%eax
406ff0:	e8 ff ca ff ff       	call   0x403af4
406ff5:	50                   	push   %eax
406ff6:	8b c6                	mov    %esi,%eax
406ff8:	e8 f7 ca ff ff       	call   0x403af4
406ffd:	50                   	push   %eax
406ffe:	8b 45 fc             	mov    -0x4(%ebp),%eax
407001:	e8 ee ca ff ff       	call   0x403af4
407006:	50                   	push   %eax
407007:	8b 43 1d             	mov    0x1d(%ebx),%eax
40700a:	e8 e5 ca ff ff       	call   0x403af4
40700f:	50                   	push   %eax
407010:	e8 27 df ff ff       	call   0x404f3c
407015:	5f                   	pop    %edi
407016:	5e                   	pop    %esi
407017:	5b                   	pop    %ebx
407018:	8b e5                	mov    %ebp,%esp
40701a:	5d                   	pop    %ebp
40701b:	c2 04 00             	ret    $0x4
40701e:	8b c0                	mov    %eax,%eax
407020:	53                   	push   %ebx
407021:	56                   	push   %esi
407022:	8b f0                	mov    %eax,%esi
407024:	8b 15 48 4d 40 00    	mov    0x404d48,%edx
40702a:	33 c0                	xor    %eax,%eax
40702c:	e8 cf 31 00 00       	call   0x40a200
407031:	8b d8                	mov    %eax,%ebx
407033:	8d 43 19             	lea    0x19(%ebx),%eax
407036:	8b d6                	mov    %esi,%edx
407038:	e8 ab c6 ff ff       	call   0x4036e8
40703d:	8b c3                	mov    %ebx,%eax
40703f:	5e                   	pop    %esi
407040:	5b                   	pop    %ebx
407041:	c3                   	ret
407042:	8b c0                	mov    %eax,%eax
407044:	33 d2                	xor    %edx,%edx
407046:	e8 21 48 00 00       	call   0x40b86c
40704b:	c3                   	ret
40704c:	6a 00                	push   $0x0
40704e:	6a 00                	push   $0x0
407050:	68 4b 01 00 00       	push   $0x14b
407055:	50                   	push   %eax
407056:	e8 e1 54 00 00       	call   0x40c53c
40705b:	c3                   	ret
40705c:	6a 00                	push   $0x0
40705e:	6a 00                	push   $0x0
407060:	68 09 10 00 00       	push   $0x1009
407065:	50                   	push   %eax
407066:	e8 d1 54 00 00       	call   0x40c53c
40706b:	c3                   	ret
40706c:	53                   	push   %ebx
40706d:	56                   	push   %esi
40706e:	8b f0                	mov    %eax,%esi
407070:	8b 15 6c 4c 40 00    	mov    0x404c6c,%edx
407076:	33 c0                	xor    %eax,%eax
407078:	e8 83 31 00 00       	call   0x40a200
40707d:	8b d8                	mov    %eax,%ebx
40707f:	c7 43 35 20 00 cc 00 	movl   $0xcc0020,0x35(%ebx)
407086:	85 f6                	test   %esi,%esi
407088:	74 0d                	je     0x407097
40708a:	8b c3                	mov    %ebx,%eax
40708c:	8b d6                	mov    %esi,%edx
40708e:	e8 95 37 00 00       	call   0x40a828
407093:	c6 43 4a 01          	movb   $0x1,0x4a(%ebx)
407097:	8b c3                	mov    %ebx,%eax
407099:	5e                   	pop    %esi
40709a:	5b                   	pop    %ebx
40709b:	c3                   	ret
40709c:	8b 15 94 4c 40 00    	mov    0x404c94,%edx
4070a2:	33 c0                	xor    %eax,%eax
4070a4:	e8 57 31 00 00       	call   0x40a200
4070a9:	c3                   	ret
4070aa:	8b c0                	mov    %eax,%eax
4070ac:	31 c9                	xor    %ecx,%ecx
4070ae:	41                   	inc    %ecx
4070af:	88 0d 9c 98 42 00    	mov    %cl,0x42989c
4070b5:	50                   	push   %eax
4070b6:	ba 64 62 42 00       	mov    $0x426264,%edx
4070bb:	31 c0                	xor    %eax,%eax
4070bd:	50                   	push   %eax
4070be:	e8 f9 3a 00 00       	call   0x40abbc
4070c3:	80 48 36 10          	orb    $0x10,0x36(%eax)
4070c7:	66 c7 40 26 ca 90    	movw   $0x90ca,0x26(%eax)
4070cd:	c6 40 2a 04          	movb   $0x4,0x2a(%eax)
4070d1:	e8 80 00 00 00       	call   0x407156
4070d6:	56                   	push   %esi
4070d7:	6a 00                	push   $0x0
4070d9:	ff 70 1c             	push   0x1c(%eax)
4070dc:	e8 97 d9 ff ff       	call   0x404a78
4070e1:	be e0 49 40 00       	mov    $0x4049e0,%esi
4070e6:	91                   	xchg   %eax,%ecx
4070e7:	b8 30 f0 00 00       	mov    $0xf030,%eax
4070ec:	99                   	cltd
4070ed:	52                   	push   %edx
4070ee:	50                   	push   %eax
4070ef:	51                   	push   %ecx
4070f0:	52                   	push   %edx
4070f1:	2c 20                	sub    $0x20,%al
4070f3:	50                   	push   %eax
4070f4:	51                   	push   %ecx
4070f5:	52                   	push   %edx
4070f6:	2c 10                	sub    $0x10,%al
4070f8:	50                   	push   %eax
4070f9:	51                   	push   %ecx
4070fa:	6a 01                	push   $0x1
4070fc:	66 b8 20 f1          	mov    $0xf120,%ax
407100:	50                   	push   %eax
407101:	51                   	push   %ecx
407102:	e8 f9 d8 ff ff       	call   0x404a00
407107:	ff d6                	call   *%esi
407109:	ff d6                	call   *%esi
40710b:	ff d6                	call   *%esi
40710d:	5e                   	pop    %esi
40710e:	31 c0                	xor    %eax,%eax
407110:	c3                   	ret
407111:	66 81 7a 04 12 01    	cmpw   $0x112,0x4(%edx)
407117:	75 f5                	jne    0x40710e
407119:	8b 52 08             	mov    0x8(%edx),%edx
40711c:	66 81 e2 f0 ff       	and    $0xfff0,%dx
407121:	66 81 fa 60 f0       	cmp    $0xf060,%dx
407126:	75 e6                	jne    0x40710e
407128:	51                   	push   %ecx
407129:	8b 48 44             	mov    0x44(%eax),%ecx
40712c:	e3 25                	jecxz  0x407153
40712e:	91                   	xchg   %eax,%ecx
40712f:	8b 48 1c             	mov    0x1c(%eax),%ecx
407132:	e3 1f                	jecxz  0x407153
407134:	8b 40 18             	mov    0x18(%eax),%eax
407137:	8b 08                	mov    (%eax),%ecx
407139:	e3 18                	jecxz  0x407153
40713b:	91                   	xchg   %eax,%ecx
40713c:	50                   	push   %eax
40713d:	e8 ea 49 00 00       	call   0x40bb2c
407142:	85 c0                	test   %eax,%eax
407144:	58                   	pop    %eax
407145:	74 0c                	je     0x407153
407147:	e8 60 2e 00 00       	call   0x409fac
40714c:	59                   	pop    %ecx
40714d:	31 c0                	xor    %eax,%eax
40714f:	89 01                	mov    %eax,(%ecx)
407151:	40                   	inc    %eax
407152:	c3                   	ret
407153:	59                   	pop    %ecx
407154:	eb b8                	jmp    0x40710e
407156:	8f 40 7c             	pop    0x7c(%eax)
407159:	50                   	push   %eax
40715a:	e8 22 00 00 00       	call   0x407181
40715f:	66 83 7a 04 07       	cmpw   $0x7,0x4(%edx)
407164:	75 ab                	jne    0x407111
407166:	8b 88 f2 00 00 00    	mov    0xf2(%eax),%ecx
40716c:	e3 a0                	jecxz  0x40710e
40716e:	91                   	xchg   %eax,%ecx
40716f:	50                   	push   %eax
407170:	e8 ff e1 ff ff       	call   0x405374
407175:	58                   	pop    %eax
407176:	ff 70 1c             	push   0x1c(%eax)
407179:	e8 9a d9 ff ff       	call   0x404b18
40717e:	b0 01                	mov    $0x1,%al
407180:	c3                   	ret
407181:	5a                   	pop    %edx
407182:	e8 b1 28 00 00       	call   0x409a38
407187:	58                   	pop    %eax
407188:	5a                   	pop    %edx
407189:	50                   	push   %eax
40718a:	e8 dd 46 00 00       	call   0x40b86c
40718f:	58                   	pop    %eax
407190:	c3                   	ret
407191:	8d 40 00             	lea    0x0(%eax),%eax
407194:	33 c9                	xor    %ecx,%ecx
407196:	8b 42 04             	mov    0x4(%edx),%eax
407199:	3d 00 01 00 00       	cmp    $0x100,%eax
40719e:	74 0e                	je     0x4071ae
4071a0:	3d 01 01 00 00       	cmp    $0x101,%eax
4071a5:	74 07                	je     0x4071ae
4071a7:	3d 02 01 00 00       	cmp    $0x102,%eax
4071ac:	75 0d                	jne    0x4071bb
4071ae:	83 7a 08 0d          	cmpl   $0xd,0x8(%edx)
4071b2:	75 07                	jne    0x4071bb
4071b4:	c7 42 08 20 00 00 00 	movl   $0x20,0x8(%edx)
4071bb:	8b c1                	mov    %ecx,%eax
4071bd:	c3                   	ret
4071be:	8b c0                	mov    %eax,%eax
4071c0:	33 c0                	xor    %eax,%eax
4071c2:	81 7a 04 03 02 00 00 	cmpl   $0x203,0x4(%edx)
4071c9:	75 07                	jne    0x4071d2
4071cb:	c7 42 04 01 02 00 00 	movl   $0x201,0x4(%edx)
4071d2:	c3                   	ret
4071d3:	90                   	nop
4071d4:	53                   	push   %ebx
4071d5:	56                   	push   %esi
4071d6:	57                   	push   %edi
4071d7:	83 c4 b4             	add    $0xffffffb4,%esp
4071da:	89 0c 24             	mov    %ecx,(%esp)
4071dd:	8b f2                	mov    %edx,%esi
4071df:	8b f8                	mov    %eax,%edi
4071e1:	33 db                	xor    %ebx,%ebx
4071e3:	8b 46 04             	mov    0x4(%esi),%eax
4071e6:	83 f8 0f             	cmp    $0xf,%eax
4071e9:	74 0b                	je     0x4071f6
4071eb:	3d 17 03 00 00       	cmp    $0x317,%eax
4071f0:	0f 85 9b 00 00 00    	jne    0x407291
4071f6:	8b 87 98 00 00 00    	mov    0x98(%edi),%eax
4071fc:	89 44 24 08          	mov    %eax,0x8(%esp)
407200:	8b 46 08             	mov    0x8(%esi),%eax
407203:	89 87 98 00 00 00    	mov    %eax,0x98(%edi)
407209:	85 c0                	test   %eax,%eax
40720b:	75 14                	jne    0x407221
40720d:	8d 44 24 0c          	lea    0xc(%esp),%eax
407211:	50                   	push   %eax
407212:	8b 47 1c             	mov    0x1c(%edi),%eax
407215:	50                   	push   %eax
407216:	e8 a5 d7 ff ff       	call   0x4049c0
40721b:	89 87 98 00 00 00    	mov    %eax,0x98(%edi)
407221:	ba 20 00 00 00       	mov    $0x20,%edx
407226:	8b c7                	mov    %edi,%eax
407228:	e8 7f 17 00 00       	call   0x4089ac
40722d:	89 44 24 04          	mov    %eax,0x4(%esp)
407231:	83 7c 24 04 00       	cmpl   $0x0,0x4(%esp)
407236:	74 34                	je     0x40726c
407238:	8b 44 24 04          	mov    0x4(%esp),%eax
40723c:	8a 15 9c 72 40 00    	mov    0x40729c,%dl
407242:	88 50 36             	mov    %dl,0x36(%eax)