407e73:	e8 8d 07 00 00       	call   0x408605
407e78:	59                   	pop    %ecx
407e79:	59                   	pop    %ecx
407e7a:	53                   	push   %ebx
407e7b:	8b ce                	mov    %esi,%ecx
407e7d:	e8 43 f9 ff ff       	call   0x4077c5
407e82:	53                   	push   %ebx
407e83:	8b ce                	mov    %esi,%ecx
407e85:	e8 f4 f8 ff ff       	call   0x40777e
407e8a:	38 5d ff             	cmp    %bl,-0x1(%ebp)
407e8d:	74 0e                	je     0x407e9d
407e8f:	6a 03                	push   $0x3
407e91:	ff b6 f0 01 00 00    	push   0x1f0(%esi)
407e97:	ff 15 e8 a1 40 00    	call   *0x40a1e8
407e9d:	bf 80 a3 40 00       	mov    $0x40a380,%edi
407ea2:	57                   	push   %edi
407ea3:	e8 a6 11 00 00       	call   0x40904e
407ea8:	89 45 08             	mov    %eax,0x8(%ebp)
407eab:	8d 46 2d             	lea    0x2d(%esi),%eax
407eae:	57                   	push   %edi
407eaf:	50                   	push   %eax
407eb0:	e8 93 11 00 00       	call   0x409048
407eb5:	8b 45 08             	mov    0x8(%ebp),%eax
407eb8:	83 c4 0c             	add    $0xc,%esp
407ebb:	03 c6                	add    %esi,%eax
407ebd:	bf 2d 01 00 00       	mov    $0x12d,%edi
407ec2:	53                   	push   %ebx
407ec3:	57                   	push   %edi
407ec4:	c6 40 2d 20          	movb   $0x20,0x2d(%eax)
407ec8:	ff b6 f0 01 00 00    	push   0x1f0(%esi)
407ece:	83 c0 2e             	add    $0x2e,%eax
407ed1:	8b ce                	mov    %esi,%ecx
407ed3:	89 86 b0 00 00 00    	mov    %eax,0xb0(%esi)
407ed9:	e8 fe 9d ff ff       	call   0x401cdc
407ede:	53                   	push   %ebx
407edf:	68 60 ea 00 00       	push   $0xea60
407ee4:	57                   	push   %edi
407ee5:	ff b6 f0 01 00 00    	push   0x1f0(%esi)
407eeb:	ff 15 28 a2 40 00    	call   *0x40a228
407ef1:	8b 86 f0 01 00 00    	mov    0x1f0(%esi),%eax
407ef7:	5f                   	pop    %edi
407ef8:	5e                   	pop    %esi
407ef9:	5b                   	pop    %ebx
407efa:	c9                   	leave
407efb:	c2 04 00             	ret    $0x4
407efe:	55                   	push   %ebp
407eff:	8b ec                	mov    %esp,%ebp
407f01:	83 ec 28             	sub    $0x28,%esp
407f04:	53                   	push   %ebx
407f05:	56                   	push   %esi
407f06:	8d 45 d8             	lea    -0x28(%ebp),%eax
407f09:	57                   	push   %edi
407f0a:	8b 3d 68 a2 40 00    	mov    0x40a268,%edi
407f10:	8b f1                	mov    %ecx,%esi
407f12:	50                   	push   %eax
407f13:	ff b6 f4 01 00 00    	push   0x1f4(%esi)
407f19:	ff d7                	call   *%edi
407f1b:	8d 45 e8             	lea    -0x18(%ebp),%eax
407f1e:	50                   	push   %eax
407f1f:	ff b6 f0 01 00 00    	push   0x1f0(%esi)
407f25:	ff d7                	call   *%edi
407f27:	8b 45 f4             	mov    -0xc(%ebp),%eax
407f2a:	33 db                	xor    %ebx,%ebx
407f2c:	2b 45 e4             	sub    -0x1c(%ebp),%eax
407f2f:	39 5e 10             	cmp    %ebx,0x10(%esi)
407f32:	89 45 fc             	mov    %eax,-0x4(%ebp)
407f35:	75 17                	jne    0x407f4e
407f37:	6a 04                	push   $0x4
407f39:	50                   	push   %eax
407f3a:	ff 75 f0             	push   -0x10(%ebp)
407f3d:	53                   	push   %ebx
407f3e:	53                   	push   %ebx
407f3f:	53                   	push   %ebx
407f40:	ff b6 ec 01 00 00    	push   0x1ec(%esi)
407f46:	ff 15 84 a2 40 00    	call   *0x40a284
407f4c:	eb 57                	jmp    0x407fa5
407f4e:	db 45 fc             	fildl  -0x4(%ebp)
407f51:	6a 04                	push   $0x4
407f53:	dd 5d f8             	fstpl  -0x8(%ebp)
407f56:	dd 45 f8             	fldl   -0x8(%ebp)
407f59:	dc 4e 18             	fmull  0x18(%esi)
407f5c:	e8 ef 11 00 00       	call   0x409150
407f61:	50                   	push   %eax
407f62:	8b 3d 84 a2 40 00    	mov    0x40a284,%edi
407f68:	ff 75 f0             	push   -0x10(%ebp)
407f6b:	53                   	push   %ebx
407f6c:	53                   	push   %ebx
407f6d:	53                   	push   %ebx
407f6e:	ff b6 ec 01 00 00    	push   0x1ec(%esi)
407f74:	ff d7                	call   *%edi
407f76:	d9 e8                	fld1
407f78:	6a 04                	push   $0x4
407f7a:	dc 66 18             	fsubl  0x18(%esi)
407f7d:	dc 4d f8             	fmull  -0x8(%ebp)
407f80:	e8 cb 11 00 00       	call   0x409150
407f85:	dd 45 f8             	fldl   -0x8(%ebp)
407f88:	dc 4e 18             	fmull  0x18(%esi)
407f8b:	83 e8 03             	sub    $0x3,%eax
407f8e:	50                   	push   %eax
407f8f:	ff 75 f0             	push   -0x10(%ebp)
407f92:	e8 b9 11 00 00       	call   0x409150
407f97:	83 c0 03             	add    $0x3,%eax
407f9a:	50                   	push   %eax
407f9b:	53                   	push   %ebx
407f9c:	53                   	push   %ebx
407f9d:	ff b6 c4 00 00 00    	push   0xc4(%esi)
407fa3:	ff d7                	call   *%edi
407fa5:	38 5e 2c             	cmp    %bl,0x2c(%esi)
407fa8:	75 12                	jne    0x407fbc
407faa:	6a 01                	push   $0x1
407fac:	53                   	push   %ebx
407fad:	53                   	push   %ebx
407fae:	53                   	push   %ebx
407faf:	53                   	push   %ebx
407fb0:	ff b6 f4 01 00 00    	push   0x1f4(%esi)
407fb6:	ff 15 64 a2 40 00    	call   *0x40a264
407fbc:	5f                   	pop    %edi
407fbd:	5e                   	pop    %esi
407fbe:	5b                   	pop    %ebx
407fbf:	c9                   	leave
407fc0:	c3                   	ret
407fc1:	b8 0e 95 40 00       	mov    $0x40950e,%eax
407fc6:	e8 65 0f 00 00       	call   0x408f30
407fcb:	83 ec 24             	sub    $0x24,%esp
407fce:	53                   	push   %ebx
407fcf:	56                   	push   %esi
407fd0:	57                   	push   %edi
407fd1:	8b 7d 08             	mov    0x8(%ebp),%edi
407fd4:	8b f1                	mov    %ecx,%esi
407fd6:	6a 28                	push   $0x28
407fd8:	89 be f0 01 00 00    	mov    %edi,0x1f0(%esi)
407fde:	e8 6b 0f 00 00       	call   0x408f4e
407fe3:	59                   	pop    %ecx
407fe4:	89 45 f0             	mov    %eax,-0x10(%ebp)
407fe7:	33 db                	xor    %ebx,%ebx
407fe9:	3b c3                	cmp    %ebx,%eax
407feb:	89 5d fc             	mov    %ebx,-0x4(%ebp)
407fee:	74 0e                	je     0x407ffe
407ff0:	8d 4d 08             	lea    0x8(%ebp),%ecx
407ff3:	57                   	push   %edi
407ff4:	51                   	push   %ecx
407ff5:	8b c8                	mov    %eax,%ecx
407ff7:	e8 c1 df ff ff       	call   0x405fbd
407ffc:	eb 02                	jmp    0x408000
407ffe:	33 c0                	xor    %eax,%eax
408000:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
408004:	83 7d 08 01          	cmpl   $0x1,0x8(%ebp)
408008:	89 86 e8 01 00 00    	mov    %eax,0x1e8(%esi)
40800e:	74 1a                	je     0x40802a
408010:	68 78 d0 40 00       	push   $0x40d078
408015:	57                   	push   %edi
408016:	e8 ea 05 00 00       	call   0x408605
40801b:	59                   	pop    %ecx
40801c:	59                   	pop    %ecx
40801d:	53                   	push   %ebx
40801e:	53                   	push   %ebx
40801f:	6a 10                	push   $0x10
408021:	57                   	push   %edi
408022:	ff 15 dc a2 40 00    	call   *0x40a2dc
408028:	eb 2a                	jmp    0x408054
40802a:	53                   	push   %ebx
40802b:	ff 76 28             	push   0x28(%esi)
40802e:	53                   	push   %ebx
40802f:	57                   	push   %edi
408030:	53                   	push   %ebx
408031:	53                   	push   %ebx
408032:	53                   	push   %ebx
408033:	53                   	push   %ebx
408034:	68 0d 00 00 50       	push   $0x5000000d
408039:	53                   	push   %ebx
40803a:	68 20 c3 40 00       	push   $0x40c320
40803f:	68 00 02 00 00       	push   $0x200
408044:	ff 15 98 a2 40 00    	call   *0x40a298
40804a:	3b c3                	cmp    %ebx,%eax
40804c:	89 86 ec 01 00 00    	mov    %eax,0x1ec(%esi)
408052:	75 07                	jne    0x40805b
408054:	33 c0                	xor    %eax,%eax
408056:	e9 86 01 00 00       	jmp    0x4081e1
40805b:	8b 3d dc a2 40 00    	mov    0x40a2dc,%edi
408061:	6a 20                	push   $0x20
408063:	53                   	push   %ebx
408064:	68 36 10 00 00       	push   $0x1036
408069:	50                   	push   %eax
40806a:	ff d7                	call   *%edi
40806c:	8d 45 d0             	lea    -0x30(%ebp),%eax
40806f:	c7 45 d0 06 00 00 00 	movl   $0x6,-0x30(%ebp)
408076:	50                   	push   %eax
408077:	53                   	push   %ebx
408078:	bb 1b 10 00 00       	mov    $0x101b,%ebx
40807d:	c7 45 dc 6c d0 40 00 	movl   $0x40d06c,-0x24(%ebp)
408084:	53                   	push   %ebx
408085:	c7 45 d8 5a 00 00 00 	movl   $0x5a,-0x28(%ebp)
40808c:	ff b6 ec 01 00 00    	push   0x1ec(%esi)
408092:	ff d7                	call   *%edi
408094:	8d 45 d0             	lea    -0x30(%ebp),%eax
408097:	c7 45 dc a0 c5 40 00 	movl   $0x40c5a0,-0x24(%ebp)
40809e:	50                   	push   %eax
40809f:	6a 00                	push   $0x0
4080a1:	53                   	push   %ebx
4080a2:	c7 45 d8 78 00 00 00 	movl   $0x78,-0x28(%ebp)
4080a9:	ff b6 ec 01 00 00    	push   0x1ec(%esi)
4080af:	ff d7                	call   *%edi
4080b1:	8d 45 d0             	lea    -0x30(%ebp),%eax
4080b4:	c7 45 dc 94 c5 40 00 	movl   $0x40c594,-0x24(%ebp)
4080bb:	50                   	push   %eax
4080bc:	6a 00                	push   $0x0
4080be:	53                   	push   %ebx
4080bf:	c7 45 d8 d2 00 00 00 	movl   $0xd2,-0x28(%ebp)
4080c6:	ff b6 ec 01 00 00    	push   0x1ec(%esi)
4080cc:	ff d7                	call   *%edi
4080ce:	8d 45 d0             	lea    -0x30(%ebp),%eax
4080d1:	c7 45 dc 68 d0 40 00 	movl   $0x40d068,-0x24(%ebp)
4080d8:	50                   	push   %eax
4080d9:	6a 00                	push   $0x0
4080db:	53                   	push   %ebx
4080dc:	c7 45 d8 37 00 00 00 	movl   $0x37,-0x28(%ebp)
4080e3:	ff b6 ec 01 00 00    	push   0x1ec(%esi)
4080e9:	ff d7                	call   *%edi
4080eb:	8d 45 d0             	lea    -0x30(%ebp),%eax
4080ee:	c7 45 dc 5c d0 40 00 	movl   $0x40d05c,-0x24(%ebp)
4080f5:	50                   	push   %eax
4080f6:	6a 00                	push   $0x0
4080f8:	53                   	push   %ebx
4080f9:	c7 45 d8 3c 00 00 00 	movl   $0x3c,-0x28(%ebp)
408100:	ff b6 ec 01 00 00    	push   0x1ec(%esi)
408106:	ff d7                	call   *%edi
408108:	8d 45 d0             	lea    -0x30(%ebp),%eax
40810b:	c7 45 dc 58 d0 40 00 	movl   $0x40d058,-0x24(%ebp)
408112:	50                   	push   %eax
408113:	6a 00                	push   $0x0
408115:	53                   	push   %ebx
408116:	c7 45 d8 28 00 00 00 	movl   $0x28,-0x28(%ebp)
40811d:	ff b6 ec 01 00 00    	push   0x1ec(%esi)
408123:	ff d7                	call   *%edi
408125:	8d 45 d0             	lea    -0x30(%ebp),%eax
408128:	c7 45 dc 50 d0 40 00 	movl   $0x40d050,-0x24(%ebp)
40812f:	50                   	push   %eax
408130:	6a 00                	push   $0x0
408132:	53                   	push   %ebx
408133:	c7 45 d8 5a 00 00 00 	movl   $0x5a,-0x28(%ebp)
40813a:	ff b6 ec 01 00 00    	push   0x1ec(%esi)
408140:	ff d7                	call   *%edi
408142:	8d 45 d0             	lea    -0x30(%ebp),%eax
408145:	c7 45 dc 74 c3 40 00 	movl   $0x40c374,-0x24(%ebp)
40814c:	50                   	push   %eax
40814d:	6a 00                	push   $0x0
40814f:	53                   	push   %ebx
408150:	c7 45 d8 69 00 00 00 	movl   $0x69,-0x28(%ebp)
408157:	ff b6 ec 01 00 00    	push   0x1ec(%esi)
40815d:	ff d7                	call   *%edi
40815f:	6a 01                	push   $0x1
408161:	4b                   	dec    %ebx
408162:	58                   	pop    %eax
408163:	89 45 d0             	mov    %eax,-0x30(%ebp)
408166:	89 45 d4             	mov    %eax,-0x2c(%ebp)
408169:	8d 45 d0             	lea    -0x30(%ebp),%eax
40816c:	50                   	push   %eax
40816d:	6a 07                	push   $0x7
40816f:	53                   	push   %ebx
408170:	ff b6 ec 01 00 00    	push   0x1ec(%esi)
408176:	ff d7                	call   *%edi
408178:	8d 45 d0             	lea    -0x30(%ebp),%eax
40817b:	50                   	push   %eax
40817c:	6a 04                	push   $0x4
40817e:	53                   	push   %ebx
40817f:	ff b6 ec 01 00 00    	push   0x1ec(%esi)
408185:	ff d7                	call   *%edi
408187:	8d 45 d0             	lea    -0x30(%ebp),%eax
40818a:	50                   	push   %eax
40818b:	6a 03                	push   $0x3
40818d:	53                   	push   %ebx
40818e:	ff b6 ec 01 00 00    	push   0x1ec(%esi)
408194:	ff d7                	call   *%edi
408196:	8d 45 d0             	lea    -0x30(%ebp),%eax
408199:	50                   	push   %eax
40819a:	6a 02                	push   $0x2
40819c:	53                   	push   %ebx
40819d:	ff b6 ec 01 00 00    	push   0x1ec(%esi)
4081a3:	ff d7                	call   *%edi
4081a5:	6a 1f                	push   $0x1f
4081a7:	6a 00                	push   $0x0
4081a9:	ff 15 f8 a0 40 00    	call   *0x40a0f8
4081af:	50                   	push   %eax
4081b0:	ff 15 c4 a2 40 00    	call   *0x40a2c4
4081b6:	ff 76 10             	push   0x10(%esi)
4081b9:	8b ce                	mov    %esi,%ecx
4081bb:	89 86 f8 01 00 00    	mov    %eax,0x1f8(%esi)
4081c1:	e8 c8 f7 ff ff       	call   0x40798e
4081c6:	8b 8e e8 01 00 00    	mov    0x1e8(%esi),%ecx
4081cc:	56                   	push   %esi
4081cd:	e8 06 e0 ff ff       	call   0x4061d8
4081d2:	6a 00                	push   $0x0
4081d4:	8b ce                	mov    %esi,%ecx
4081d6:	e8 24 ed ff ff       	call   0x406eff
4081db:	8b 86 ec 01 00 00    	mov    0x1ec(%esi),%eax
4081e1:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4081e4:	5f                   	pop    %edi
4081e5:	5e                   	pop    %esi
4081e6:	5b                   	pop    %ebx
4081e7:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4081ee:	c9                   	leave
4081ef:	c2 04 00             	ret    $0x4
4081f2:	55                   	push   %ebp
4081f3:	8b ec                	mov    %esp,%ebp
4081f5:	81 ec b8 02 00 00    	sub    $0x2b8,%esp
4081fb:	53                   	push   %ebx
4081fc:	56                   	push   %esi
4081fd:	8b f1                	mov    %ecx,%esi
4081ff:	57                   	push   %edi
408200:	6a 01                	push   $0x1
408202:	8b 86 e0 01 00 00    	mov    0x1e0(%esi),%eax
408208:	5b                   	pop    %ebx
408209:	83 f8 02             	cmp    $0x2,%eax
40820c:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40820f:	75 08                	jne    0x408219
408211:	ff 75 14             	push   0x14(%ebp)
408214:	e9 dc 01 00 00       	jmp    0x4083f5
408219:	3b c3                	cmp    %ebx,%eax
40821b:	0f 85 bc 00 00 00    	jne    0x4082dd
408221:	81 7d 0c 06 10 00 00 	cmpl   $0x1006,0xc(%ebp)
408228:	74 5d                	je     0x408287
40822a:	81 7d 0c 07 10 00 00 	cmpl   $0x1007,0xc(%ebp)
408231:	74 54                	je     0x408287
408233:	81 7d 0c 00 11 00 00 	cmpl   $0x1100,0xc(%ebp)
40823a:	0f 85 c7 01 00 00    	jne    0x408407
408240:	8b 7d 14             	mov    0x14(%ebp),%edi
408243:	84 5f 08             	test   %bl,0x8(%edi)
408246:	0f 84 bb 01 00 00    	je     0x408407
40824c:	8d 45 10             	lea    0x10(%ebp),%eax
40824f:	6a 00                	push   $0x0
408251:	50                   	push   %eax
408252:	ff 77 18             	push   0x18(%edi)
408255:	e8 f4 0d 00 00       	call   0x40904e
40825a:	59                   	pop    %ecx
40825b:	8b 1d 70 a0 40 00    	mov    0x40a070,%ebx
408261:	50                   	push   %eax
408262:	ff 77 18             	push   0x18(%edi)
408265:	ff b6 e4 01 00 00    	push   0x1e4(%esi)
40826b:	ff d3                	call   *%ebx
40826d:	8d 45 10             	lea    0x10(%ebp),%eax
408270:	6a 00                	push   $0x0
408272:	50                   	push   %eax
408273:	6a 02                	push   $0x2
408275:	68 98 d0 40 00       	push   $0x40d098
40827a:	ff b6 e4 01 00 00    	push   0x1e4(%esi)
408280:	ff d3                	call   *%ebx
408282:	e9 80 01 00 00       	jmp    0x408407
408287:	8b 7d 14             	mov    0x14(%ebp),%edi
40828a:	84 1f                	test   %bl,(%edi)
40828c:	0f 84 75 01 00 00    	je     0x408407