40ef79:	e8 e2 93 00 00       	call   0x418360
40ef7e:	8b 45 14             	mov    0x14(%ebp),%eax
40ef81:	6a 00                	push   $0x0
40ef83:	50                   	push   %eax
40ef84:	56                   	push   %esi
40ef85:	e8 d6 97 00 00       	call   0x418760
40ef8a:	6a 00                	push   $0x0
40ef8c:	57                   	push   %edi
40ef8d:	56                   	push   %esi
40ef8e:	e8 cd 97 00 00       	call   0x418760
40ef93:	8b 5d 28             	mov    0x28(%ebp),%ebx
40ef96:	8b 4d 08             	mov    0x8(%ebp),%ecx
40ef99:	53                   	push   %ebx
40ef9a:	6a 00                	push   $0x0
40ef9c:	6a 00                	push   $0x0
40ef9e:	56                   	push   %esi
40ef9f:	51                   	push   %ecx
40efa0:	e8 0b fb ff ff       	call   0x40eab0
40efa5:	8d 87 80 00 00 00    	lea    0x80(%edi),%eax
40efab:	50                   	push   %eax
40efac:	e8 7f 96 00 00       	call   0x418630
40efb1:	83 c4 40             	add    $0x40,%esp
40efb4:	40                   	inc    %eax
40efb5:	50                   	push   %eax
40efb6:	8d 87 80 00 00 00    	lea    0x80(%edi),%eax
40efbc:	50                   	push   %eax
40efbd:	56                   	push   %esi
40efbe:	e8 9d 93 00 00       	call   0x418360
40efc3:	8b 55 18             	mov    0x18(%ebp),%edx
40efc6:	6a 00                	push   $0x0
40efc8:	52                   	push   %edx
40efc9:	56                   	push   %esi
40efca:	e8 91 97 00 00       	call   0x418760
40efcf:	6a 00                	push   $0x0
40efd1:	57                   	push   %edi
40efd2:	56                   	push   %esi
40efd3:	e8 88 97 00 00       	call   0x418760
40efd8:	8b 45 08             	mov    0x8(%ebp),%eax
40efdb:	53                   	push   %ebx
40efdc:	6a 00                	push   $0x0
40efde:	6a 00                	push   $0x0
40efe0:	56                   	push   %esi
40efe1:	50                   	push   %eax
40efe2:	e8 c9 fa ff ff       	call   0x40eab0
40efe7:	83 c7 60             	add    $0x60,%edi
40efea:	57                   	push   %edi
40efeb:	e8 40 96 00 00       	call   0x418630
40eff0:	40                   	inc    %eax
40eff1:	50                   	push   %eax
40eff2:	57                   	push   %edi
40eff3:	56                   	push   %esi
40eff4:	e8 67 93 00 00       	call   0x418360
40eff9:	8b 7d 08             	mov    0x8(%ebp),%edi
40effc:	83 c4 48             	add    $0x48,%esp
40efff:	53                   	push   %ebx
40f000:	6a 00                	push   $0x0
40f002:	6a 00                	push   $0x0
40f004:	56                   	push   %esi
40f005:	57                   	push   %edi
40f006:	e8 a5 fa ff ff       	call   0x40eab0
40f00b:	8b 4d 20             	mov    0x20(%ebp),%ecx
40f00e:	8b 55 1c             	mov    0x1c(%ebp),%edx
40f011:	8b 45 24             	mov    0x24(%ebp),%eax
40f014:	53                   	push   %ebx
40f015:	51                   	push   %ecx
40f016:	52                   	push   %edx
40f017:	50                   	push   %eax
40f018:	56                   	push   %esi
40f019:	57                   	push   %edi
40f01a:	e8 e1 fc ff ff       	call   0x40ed00
40f01f:	83 c4 2c             	add    $0x2c,%esp
40f022:	5f                   	pop    %edi
40f023:	5e                   	pop    %esi
40f024:	5b                   	pop    %ebx
40f025:	5d                   	pop    %ebp
40f026:	c3                   	ret
40f027:	55                   	push   %ebp
40f028:	54                   	push   %esp
40f029:	33 b5 be 24 e3 83    	xor    -0x7c1cdb42(%ebp),%esi
40f02f:	f9                   	stc
40f030:	55                   	push   %ebp
40f031:	8b ec                	mov    %esp,%ebp
40f033:	81 ec 00 09 00 00    	sub    $0x900,%esp
40f039:	56                   	push   %esi
40f03a:	57                   	push   %edi
40f03b:	33 c0                	xor    %eax,%eax
40f03d:	68 fe 03 00 00       	push   $0x3fe
40f042:	50                   	push   %eax
40f043:	8d 8d 0a f9 ff ff    	lea    -0x6f6(%ebp),%ecx
40f049:	51                   	push   %ecx
40f04a:	66 89 85 08 f9 ff ff 	mov    %ax,-0x6f8(%ebp)
40f051:	e8 8a 93 00 00       	call   0x4183e0
40f056:	8b 45 10             	mov    0x10(%ebp),%eax
40f059:	8b 75 0c             	mov    0xc(%ebp),%esi
40f05c:	8b 7d 08             	mov    0x8(%ebp),%edi
40f05f:	83 c4 0c             	add    $0xc,%esp
40f062:	83 f8 16             	cmp    $0x16,%eax
40f065:	0f 85 8a 00 00 00    	jne    0x40f0f5
40f06b:	6a 00                	push   $0x0
40f06d:	6a 01                	push   $0x1
40f06f:	8d 95 08 f9 ff ff    	lea    -0x6f8(%ebp),%edx
40f075:	52                   	push   %edx
40f076:	57                   	push   %edi
40f077:	e8 f4 96 ff ff       	call   0x408770
40f07c:	83 c4 10             	add    $0x10,%esp
40f07f:	66 83 bd 08 f9 ff ff 	cmpw   $0x0,-0x6f8(%ebp)
40f086:	00
40f087:	75 14                	jne    0x40f09d
40f089:	6a 00                	push   $0x0
40f08b:	6a 03                	push   $0x3
40f08d:	8d 85 08 f9 ff ff    	lea    -0x6f8(%ebp),%eax
40f093:	50                   	push   %eax
40f094:	57                   	push   %edi
40f095:	e8 d6 96 ff ff       	call   0x408770
40f09a:	83 c4 10             	add    $0x10,%esp
40f09d:	6a 01                	push   $0x1
40f09f:	8d 8d 08 f9 ff ff    	lea    -0x6f8(%ebp),%ecx
40f0a5:	6a 1e                	push   $0x1e
40f0a7:	51                   	push   %ecx
40f0a8:	e8 a3 95 00 00       	call   0x418650
40f0ad:	83 c4 04             	add    $0x4,%esp
40f0b0:	8d 94 45 08 f9 ff ff 	lea    -0x6f8(%ebp,%eax,2),%edx
40f0b7:	52                   	push   %edx
40f0b8:	57                   	push   %edi
40f0b9:	e8 b2 96 ff ff       	call   0x408770
40f0be:	6a 00                	push   $0x0
40f0c0:	6a 15                	push   $0x15
40f0c2:	8d 85 08 f9 ff ff    	lea    -0x6f8(%ebp),%eax
40f0c8:	50                   	push   %eax
40f0c9:	57                   	push   %edi
40f0ca:	e8 01 2e 00 00       	call   0x411ed0
40f0cf:	83 c4 20             	add    $0x20,%esp
40f0d2:	f7 d8                	neg    %eax
40f0d4:	1b c0                	sbb    %eax,%eax
40f0d6:	f7 d8                	neg    %eax
40f0d8:	89 87 4c 0b 00 00    	mov    %eax,0xb4c(%edi)
40f0de:	74 0d                	je     0x40f0ed
40f0e0:	83 bf 00 0a 00 00 00 	cmpl   $0x0,0xa00(%edi)
40f0e7:	75 04                	jne    0x40f0ed
40f0e9:	85 f6                	test   %esi,%esi
40f0eb:	75 34                	jne    0x40f121
40f0ed:	5f                   	pop    %edi
40f0ee:	33 c0                	xor    %eax,%eax
40f0f0:	5e                   	pop    %esi
40f0f1:	8b e5                	mov    %ebp,%esp
40f0f3:	5d                   	pop    %ebp
40f0f4:	c3                   	ret
40f0f5:	3d 24 10 00 00       	cmp    $0x1024,%eax
40f0fa:	75 25                	jne    0x40f121
40f0fc:	6a 00                	push   $0x0
40f0fe:	8d 8d 08 f9 ff ff    	lea    -0x6f8(%ebp),%ecx
40f104:	51                   	push   %ecx
40f105:	57                   	push   %edi
40f106:	e8 f5 10 00 00       	call   0x410200
40f10b:	83 c4 0c             	add    $0xc,%esp
40f10e:	89 87 48 0b 00 00    	mov    %eax,0xb48(%edi)
40f114:	85 c0                	test   %eax,%eax
40f116:	74 d5                	je     0x40f0ed
40f118:	83 bf fc 09 00 00 00 	cmpl   $0x0,0x9fc(%edi)
40f11f:	eb c6                	jmp    0x40f0e7
40f121:	83 7e 0c 00          	cmpl   $0x0,0xc(%esi)
40f125:	53                   	push   %ebx
40f126:	8d 5e 0c             	lea    0xc(%esi),%ebx
40f129:	0f 85 bb 00 00 00    	jne    0x40f1ea
40f12f:	33 d2                	xor    %edx,%edx
40f131:	68 06 02 00 00       	push   $0x206
40f136:	52                   	push   %edx
40f137:	8d 85 02 f7 ff ff    	lea    -0x8fe(%ebp),%eax
40f13d:	50                   	push   %eax
40f13e:	66 89 95 00 f7 ff ff 	mov    %dx,-0x900(%ebp)
40f145:	e8 96 92 00 00       	call   0x4183e0
40f14a:	68 03 01 00 00       	push   $0x103
40f14f:	8d 8d 09 fd ff ff    	lea    -0x2f7(%ebp),%ecx
40f155:	6a 00                	push   $0x0
40f157:	51                   	push   %ecx
40f158:	c6 85 08 fd ff ff 00 	movb   $0x0,-0x2f8(%ebp)
40f15f:	e8 7c 92 00 00       	call   0x4183e0
40f164:	6a 3f                	push   $0x3f
40f166:	8d 55 b1             	lea    -0x4f(%ebp),%edx
40f169:	6a 00                	push   $0x0
40f16b:	52                   	push   %edx
40f16c:	c6 45 b0 00          	movb   $0x0,-0x50(%ebp)
40f170:	e8 6b 92 00 00       	call   0x4183e0
40f175:	8d 45 b0             	lea    -0x50(%ebp),%eax
40f178:	6a 0d                	push   $0xd
40f17a:	50                   	push   %eax
40f17b:	e8 00 9e 00 00       	call   0x418f80
40f180:	6a 00                	push   $0x0
40f182:	6a 04                	push   $0x4
40f184:	8d 8d 00 f7 ff ff    	lea    -0x900(%ebp),%ecx
40f18a:	51                   	push   %ecx
40f18b:	57                   	push   %edi
40f18c:	e8 df 95 ff ff       	call   0x408770
40f191:	8d 95 00 f7 ff ff    	lea    -0x900(%ebp),%edx
40f197:	52                   	push   %edx
40f198:	8d 85 08 fd ff ff    	lea    -0x2f8(%ebp),%eax
40f19e:	50                   	push   %eax
40f19f:	e8 5c 98 00 00       	call   0x418a00
40f1a4:	8d 8d 08 fd ff ff    	lea    -0x2f8(%ebp),%ecx
40f1aa:	83 c4 44             	add    $0x44,%esp
40f1ad:	51                   	push   %ecx
40f1ae:	e8 7d 94 00 00       	call   0x418630
40f1b3:	6a 00                	push   $0x0
40f1b5:	8d 55 b0             	lea    -0x50(%ebp),%edx
40f1b8:	c6 84 05 08 fd ff ff 	movb   $0x5c,-0x2f8(%ebp,%eax,1)
40f1bf:	5c
40f1c0:	52                   	push   %edx
40f1c1:	8d 85 08 fd ff ff    	lea    -0x2f8(%ebp),%eax
40f1c7:	50                   	push   %eax
40f1c8:	e8 93 95 00 00       	call   0x418760
40f1cd:	8d 8d 08 fd ff ff    	lea    -0x2f8(%ebp),%ecx
40f1d3:	51                   	push   %ecx
40f1d4:	8d 57 1c             	lea    0x1c(%edi),%edx
40f1d7:	52                   	push   %edx
40f1d8:	e8 43 92 ff ff       	call   0x408420
40f1dd:	83 c4 18             	add    $0x18,%esp
40f1e0:	89 03                	mov    %eax,(%ebx)
40f1e2:	85 c0                	test   %eax,%eax
40f1e4:	0f 84 41 02 00 00    	je     0x40f42b
40f1ea:	33 c0                	xor    %eax,%eax
40f1ec:	68 94 01 00 00       	push   $0x194
40f1f1:	50                   	push   %eax
40f1f2:	89 85 0d fe ff ff    	mov    %eax,-0x1f3(%ebp)
40f1f8:	89 85 11 fe ff ff    	mov    %eax,-0x1ef(%ebp)
40f1fe:	89 85 15 fe ff ff    	mov    %eax,-0x1eb(%ebp)
40f204:	66 89 85 19 fe ff ff 	mov    %ax,-0x1e7(%ebp)
40f20b:	88 85 1b fe ff ff    	mov    %al,-0x1e5(%ebp)
40f211:	8d 85 1c fe ff ff    	lea    -0x1e4(%ebp),%eax
40f217:	50                   	push   %eax
40f218:	c6 85 0c fe ff ff 00 	movb   $0x0,-0x1f4(%ebp)
40f21f:	e8 bc 91 00 00       	call   0x4183e0
40f224:	8b 4d 10             	mov    0x10(%ebp),%ecx
40f227:	51                   	push   %ecx
40f228:	8d 95 0c fe ff ff    	lea    -0x1f4(%ebp),%edx
40f22e:	52                   	push   %edx
40f22f:	57                   	push   %edi
40f230:	e8 7b f6 ff ff       	call   0x40e8b0
40f235:	83 c4 18             	add    $0x18,%esp
40f238:	85 c0                	test   %eax,%eax
40f23a:	0f 84 eb 01 00 00    	je     0x40f42b
40f240:	8b 45 10             	mov    0x10(%ebp),%eax
40f243:	50                   	push   %eax
40f244:	53                   	push   %ebx
40f245:	57                   	push   %edi
40f246:	e8 b5 64 00 00       	call   0x415700
40f24b:	6a 4d                	push   $0x4d
40f24d:	57                   	push   %edi
40f24e:	e8 bd 2f 00 00       	call   0x412210
40f253:	8b 4d ac             	mov    -0x54(%ebp),%ecx
40f256:	50                   	push   %eax
40f257:	6a 00                	push   $0x0
40f259:	6a 00                	push   $0x0
40f25b:	51                   	push   %ecx
40f25c:	8d 57 1c             	lea    0x1c(%edi),%edx
40f25f:	52                   	push   %edx
40f260:	e8 6b 30 00 00       	call   0x4122d0
40f265:	83 c4 28             	add    $0x28,%esp
40f268:	83 7e 38 00          	cmpl   $0x0,0x38(%esi)
40f26c:	89 46 40             	mov    %eax,0x40(%esi)
40f26f:	0f 84 b6 01 00 00    	je     0x40f42b
40f275:	83 7e 3c 00          	cmpl   $0x0,0x3c(%esi)
40f279:	0f 84 ac 01 00 00    	je     0x40f42b
40f27f:	83 7e 28 00          	cmpl   $0x0,0x28(%esi)
40f283:	0f 84 a2 01 00 00    	je     0x40f42b
40f289:	85 c0                	test   %eax,%eax
40f28b:	0f 84 9a 01 00 00    	je     0x40f42b
40f291:	83 7e 2c 00          	cmpl   $0x0,0x2c(%esi)
40f295:	0f 84 90 01 00 00    	je     0x40f42b
40f29b:	83 7e 30 00          	cmpl   $0x0,0x30(%esi)
40f29f:	0f 84 86 01 00 00    	je     0x40f42b
40f2a5:	83 7e 34 00          	cmpl   $0x0,0x34(%esi)
40f2a9:	0f 84 7c 01 00 00    	je     0x40f42b
40f2af:	8b 5d 10             	mov    0x10(%ebp),%ebx
40f2b2:	53                   	push   %ebx
40f2b3:	8d 85 4c fe ff ff    	lea    -0x1b4(%ebp),%eax
40f2b9:	50                   	push   %eax
40f2ba:	6a 01                	push   $0x1
40f2bc:	6a 00                	push   $0x0
40f2be:	57                   	push   %edi
40f2bf:	e8 ec f7 ff ff       	call   0x40eab0
40f2c4:	83 c4 14             	add    $0x14,%esp
40f2c7:	85 c0                	test   %eax,%eax
40f2c9:	75 2a                	jne    0x40f2f5
40f2cb:	81 fb 24 10 00 00    	cmp    $0x1024,%ebx
40f2d1:	75 11                	jne    0x40f2e4
40f2d3:	5b                   	pop    %ebx
40f2d4:	c7 87 fc 09 00 00 01 	movl   $0x1,0x9fc(%edi)
40f2db:	00 00 00
40f2de:	5f                   	pop    %edi
40f2df:	5e                   	pop    %esi
40f2e0:	8b e5                	mov    %ebp,%esp
40f2e2:	5d                   	pop    %ebp
40f2e3:	c3                   	ret
40f2e4:	5b                   	pop    %ebx
40f2e5:	c7 87 00 0a 00 00 01 	movl   $0x1,0xa00(%edi)
40f2ec:	00 00 00
40f2ef:	5f                   	pop    %edi
40f2f0:	5e                   	pop    %esi
40f2f1:	8b e5                	mov    %ebp,%esp
40f2f3:	5d                   	pop    %ebp
40f2f4:	c3                   	ret
40f2f5:	6a 00                	push   $0x0
40f2f7:	6a 04                	push   $0x4
40f2f9:	8d 5e 68             	lea    0x68(%esi),%ebx
40f2fc:	53                   	push   %ebx
40f2fd:	57                   	push   %edi
40f2fe:	e8 6d 94 ff ff       	call   0x408770
40f303:	6a 00                	push   $0x0
40f305:	8d 8d 2c fe ff ff    	lea    -0x1d4(%ebp),%ecx
40f30b:	51                   	push   %ecx
40f30c:	53                   	push   %ebx
40f30d:	e8 ae 94 00 00       	call   0x4187c0
40f312:	53                   	push   %ebx
40f313:	8d 95 08 f9 ff ff    	lea    -0x6f8(%ebp),%edx
40f319:	52                   	push   %edx
40f31a:	57                   	push   %edi
40f31b:	e8 f0 f3 ff ff       	call   0x40e710
40f320:	8d 85 08 f9 ff ff    	lea    -0x6f8(%ebp),%eax
40f326:	53                   	push   %ebx
40f327:	50                   	push   %eax
40f328:	e8 d3 96 00 00       	call   0x418a00
40f32d:	8b 46 28             	mov    0x28(%esi),%eax
40f330:	8d 4d f8             	lea    -0x8(%ebp),%ecx
40f333:	51                   	push   %ecx
40f334:	8d 95 08 f9 ff ff    	lea    -0x6f8(%ebp),%edx
40f33a:	52                   	push   %edx
40f33b:	ff d0                	call   *%eax
40f33d:	83 c4 38             	add    $0x38,%esp
40f340:	85 c0                	test   %eax,%eax
40f342:	0f 85 ae 00 00 00    	jne    0x40f3f6
40f348:	50                   	push   %eax
40f349:	8b 45 f8             	mov    -0x8(%ebp),%eax
40f34c:	8d 4d fc             	lea    -0x4(%ebp),%ecx
40f34f:	51                   	push   %ecx
40f350:	8b 4e 30             	mov    0x30(%esi),%ecx
40f353:	6a ff                	push   $0xffffffff
40f355:	8d 95 ac fe ff ff    	lea    -0x154(%ebp),%edx
40f35b:	52                   	push   %edx
40f35c:	50                   	push   %eax
40f35d:	ff d1                	call   *%ecx
40f35f:	83 c4 14             	add    $0x14,%esp
40f362:	85 c0                	test   %eax,%eax
40f364:	0f 85 8c 00 00 00    	jne    0x40f3f6
40f36a:	8b 55 fc             	mov    -0x4(%ebp),%edx
40f36d:	8b 46 2c             	mov    0x2c(%esi),%eax
40f370:	52                   	push   %edx
40f371:	ff d0                	call   *%eax
40f373:	83 c4 04             	add    $0x4,%esp
40f376:	83 f8 64             	cmp    $0x64,%eax
40f379:	75 7b                	jne    0x40f3f6