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
408292:	83 7f 08 00          	cmpl   $0x0,0x8(%edi)
408296:	8b 1d 70 a0 40 00    	mov    0x40a070,%ebx
40829c:	75 15                	jne    0x4082b3
40829e:	8d 45 10             	lea    0x10(%ebp),%eax
4082a1:	6a 00                	push   $0x0
4082a3:	50                   	push   %eax
4082a4:	6a 02                	push   $0x2
4082a6:	68 98 d0 40 00       	push   $0x40d098
4082ab:	ff b6 e4 01 00 00    	push   0x1e4(%esi)
4082b1:	ff d3                	call   *%ebx
4082b3:	8d 45 10             	lea    0x10(%ebp),%eax
4082b6:	6a 00                	push   $0x0
4082b8:	50                   	push   %eax
4082b9:	ff 77 14             	push   0x14(%edi)
4082bc:	e8 8d 0d 00 00       	call   0x40904e
4082c1:	59                   	pop    %ecx
4082c2:	50                   	push   %eax
4082c3:	ff 77 14             	push   0x14(%edi)
4082c6:	ff b6 e4 01 00 00    	push   0x1e4(%esi)
4082cc:	ff d3                	call   *%ebx
4082ce:	8d 45 10             	lea    0x10(%ebp),%eax
4082d1:	6a 00                	push   $0x0
4082d3:	50                   	push   %eax
4082d4:	6a 03                	push   $0x3
4082d6:	68 94 d0 40 00       	push   $0x40d094
4082db:	eb 9d                	jmp    0x40827a
4082dd:	83 f8 03             	cmp    $0x3,%eax
4082e0:	0f 85 21 01 00 00    	jne    0x408407
4082e6:	6a 28                	push   $0x28
4082e8:	8d 45 d4             	lea    -0x2c(%ebp),%eax
4082eb:	ff 75 14             	push   0x14(%ebp)
4082ee:	50                   	push   %eax
4082ef:	e8 60 0d 00 00       	call   0x409054
4082f4:	33 ff                	xor    %edi,%edi
4082f6:	83 c4 0c             	add    $0xc,%esp
4082f9:	39 7d dc             	cmp    %edi,-0x24(%ebp)
4082fc:	0f 85 e0 00 00 00    	jne    0x4083e2
408302:	ff 75 e8             	push   -0x18(%ebp)
408305:	e8 44 0d 00 00       	call   0x40904e
40830a:	59                   	pop    %ecx
40830b:	50                   	push   %eax
40830c:	ff 75 e8             	push   -0x18(%ebp)
40830f:	ff 15 5c a2 40 00    	call   *0x40a25c
408315:	84 5d d4             	test   %bl,-0x2c(%ebp)
408318:	0f 84 bc 00 00 00    	je     0x4083da
40831e:	f6 45 d4 04          	testb  $0x4,-0x2c(%ebp)
408322:	0f 84 b2 00 00 00    	je     0x4083da
408328:	8d 86 d8 00 00 00    	lea    0xd8(%esi),%eax
40832e:	50                   	push   %eax
40832f:	ff 75 e8             	push   -0x18(%ebp)
408332:	ff 15 80 a1 40 00    	call   *0x40a180
408338:	59                   	pop    %ecx
408339:	85 c0                	test   %eax,%eax
40833b:	59                   	pop    %ecx
40833c:	0f 84 98 00 00 00    	je     0x4083da
408342:	ff 75 f4             	push   -0xc(%ebp)
408345:	8b 8e e8 01 00 00    	mov    0x1e8(%esi),%ecx
40834b:	8d 85 48 fd ff ff    	lea    -0x2b8(%ebp),%eax
408351:	50                   	push   %eax
408352:	e8 3f e7 ff ff       	call   0x406a96
408357:	3b c3                	cmp    %ebx,%eax
408359:	0f 85 a8 00 00 00    	jne    0x408407
40835f:	8d 85 50 fd ff ff    	lea    -0x2b0(%ebp),%eax
408365:	89 9e dc 01 00 00    	mov    %ebx,0x1dc(%esi)
40836b:	89 45 c0             	mov    %eax,-0x40(%ebp)
40836e:	8d 45 ac             	lea    -0x54(%ebp),%eax
408371:	50                   	push   %eax
408372:	8b 35 dc a2 40 00    	mov    0x40a2dc,%esi
408378:	ff 75 10             	push   0x10(%ebp)
40837b:	89 5d ac             	mov    %ebx,-0x54(%ebp)
40837e:	89 7d b4             	mov    %edi,-0x4c(%ebp)
408381:	89 7d b0             	mov    %edi,-0x50(%ebp)
408384:	68 07 10 00 00       	push   $0x1007
408389:	ff 75 08             	push   0x8(%ebp)
40838c:	ff d6                	call   *%esi
40838e:	6a 14                	push   $0x14
408390:	8d 45 98             	lea    -0x68(%ebp),%eax
408393:	ff b5 48 fd ff ff    	push   -0x2b8(%ebp)
408399:	50                   	push   %eax
40839a:	e8 27 05 00 00       	call   0x4088c6
40839f:	8d 45 98             	lea    -0x68(%ebp),%eax
4083a2:	83 c4 0c             	add    $0xc,%esp
4083a5:	89 45 c0             	mov    %eax,-0x40(%ebp)
4083a8:	8d 45 ac             	lea    -0x54(%ebp),%eax
4083ab:	50                   	push   %eax
4083ac:	bf 06 10 00 00       	mov    $0x1006,%edi
4083b1:	ff 75 10             	push   0x10(%ebp)
4083b4:	89 5d b4             	mov    %ebx,-0x4c(%ebp)
4083b7:	57                   	push   %edi
4083b8:	ff 75 08             	push   0x8(%ebp)
4083bb:	ff d6                	call   *%esi
4083bd:	8d 45 d4             	lea    -0x2c(%ebp),%eax
4083c0:	83 65 d8 00          	andl   $0x0,-0x28(%ebp)
4083c4:	50                   	push   %eax
4083c5:	c7 45 dc 02 00 00 00 	movl   $0x2,-0x24(%ebp)
4083cc:	ff 75 10             	push   0x10(%ebp)
4083cf:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
4083d2:	57                   	push   %edi
4083d3:	ff 75 08             	push   0x8(%ebp)
4083d6:	ff d6                	call   *%esi
4083d8:	eb 2a                	jmp    0x408404
4083da:	89 be dc 01 00 00    	mov    %edi,0x1dc(%esi)
4083e0:	eb 25                	jmp    0x408407
4083e2:	39 be dc 01 00 00    	cmp    %edi,0x1dc(%esi)
4083e8:	74 1d                	je     0x408407
4083ea:	83 45 dc 02          	addl   $0x2,-0x24(%ebp)
4083ee:	8d 45 d4             	lea    -0x2c(%ebp),%eax
4083f1:	89 7d d8             	mov    %edi,-0x28(%ebp)
4083f4:	50                   	push   %eax
4083f5:	ff 75 10             	push   0x10(%ebp)
4083f8:	ff 75 0c             	push   0xc(%ebp)
4083fb:	ff 75 08             	push   0x8(%ebp)
4083fe:	ff 15 dc a2 40 00    	call   *0x40a2dc
408404:	89 45 fc             	mov    %eax,-0x4(%ebp)
408407:	8b 45 fc             	mov    -0x4(%ebp),%eax
40840a:	5f                   	pop    %edi
40840b:	5e                   	pop    %esi
40840c:	5b                   	pop    %ebx
40840d:	c9                   	leave
40840e:	c2 10 00             	ret    $0x10
408411:	55                   	push   %ebp
408412:	8b ec                	mov    %esp,%ebp
408414:	81 ec 50 01 00 00    	sub    $0x150,%esp
40841a:	53                   	push   %ebx
40841b:	56                   	push   %esi
40841c:	57                   	push   %edi
40841d:	6a 4c                	push   $0x4c
40841f:	5f                   	pop    %edi
408420:	33 db                	xor    %ebx,%ebx
408422:	57                   	push   %edi
408423:	8d 45 b4             	lea    -0x4c(%ebp),%eax
408426:	53                   	push   %ebx
408427:	8b f1                	mov    %ecx,%esi
408429:	50                   	push   %eax
40842a:	e8 0d 0b 00 00       	call   0x408f3c
40842f:	8b 86 f0 01 00 00    	mov    0x1f0(%esi),%eax
408435:	83 c4 0c             	add    $0xc,%esp
408438:	89 45 b8             	mov    %eax,-0x48(%ebp)
40843b:	8d 85 b0 fe ff ff    	lea    -0x150(%ebp),%eax
408441:	89 45 d0             	mov    %eax,-0x30(%ebp)
408444:	8d 45 b4             	lea    -0x4c(%ebp),%eax
408447:	50                   	push   %eax
408448:	88 9d b0 fe ff ff    	mov    %bl,-0x150(%ebp)
40844e:	89 7d b4             	mov    %edi,-0x4c(%ebp)
408451:	c7 45 c0 b8 d0 40 00 	movl   $0x40d0b8,-0x40(%ebp)
408458:	c7 45 d4 04 01 00 00 	movl   $0x104,-0x2c(%ebp)
40845f:	c7 45 e8 00 00 08 00 	movl   $0x80000,-0x18(%ebp)
408466:	c7 45 f0 b4 d0 40 00 	movl   $0x40d0b4,-0x10(%ebp)
40846d:	e8 6c 0a 00 00       	call   0x408ede
408472:	85 c0                	test   %eax,%eax
408474:	0f 84 8c 00 00 00    	je     0x408506
40847a:	53                   	push   %ebx
40847b:	68 80 00 00 00       	push   $0x80
408480:	6a 02                	push   $0x2
408482:	53                   	push   %ebx
408483:	6a 01                	push   $0x1
408485:	8d 85 b0 fe ff ff    	lea    -0x150(%ebp),%eax
40848b:	5f                   	pop    %edi
40848c:	57                   	push   %edi
40848d:	68 00 00 00 40       	push   $0x40000000
408492:	50                   	push   %eax
408493:	ff 15 bc a0 40 00    	call   *0x40a0bc
408499:	3b c3                	cmp    %ebx,%eax
40849b:	89 86 e4 01 00 00    	mov    %eax,0x1e4(%esi)
4084a1:	75 0f                	jne    0x4084b2
4084a3:	68 9c d0 40 00       	push   $0x40d09c
4084a8:	53                   	push   %ebx
4084a9:	e8 57 01 00 00       	call   0x408605
4084ae:	59                   	pop    %ecx
4084af:	59                   	pop    %ecx
4084b0:	eb 54                	jmp    0x408506
4084b2:	83 7d 08 ff          	cmpl   $0xffffffff,0x8(%ebp)
4084b6:	89 be e0 01 00 00    	mov    %edi,0x1e0(%esi)
4084bc:	75 28                	jne    0x4084e6
4084be:	53                   	push   %ebx