408059:	eb 23                	jmp    0x40807e
40805b:	83 fe 06             	cmp    $0x6,%esi
40805e:	75 21                	jne    0x408081
408060:	8b 4d 38             	mov    0x38(%ebp),%ecx
408063:	50                   	push   %eax
408064:	ff 15 08 34 42 00    	call   *0x423408
40806a:	8b 4d 38             	mov    0x38(%ebp),%ecx
40806d:	ff 15 10 34 42 00    	call   *0x423410
408073:	8b 4d 38             	mov    0x38(%ebp),%ecx
408076:	ff 15 0c 34 42 00    	call   *0x42340c
40807c:	6a 07                	push   $0x7
40807e:	5e                   	pop    %esi
40807f:	eb 61                	jmp    0x4080e2
408081:	83 fe 07             	cmp    $0x7,%esi
408084:	75 30                	jne    0x4080b6
408086:	8b 75 3c             	mov    0x3c(%ebp),%esi
408089:	8b c8                	mov    %eax,%ecx
40808b:	8b d6                	mov    %esi,%edx
40808d:	e8 6e 0a 00 00       	call   0x408b00
408092:	85 c0                	test   %eax,%eax
408094:	74 0a                	je     0x4080a0
408096:	83 3e 01             	cmpl   $0x1,(%esi)
408099:	72 05                	jb     0x4080a0
40809b:	83 3e 3c             	cmpl   $0x3c,(%esi)
40809e:	76 12                	jbe    0x4080b2
4080a0:	ff 34 bb             	push   (%ebx,%edi,4)
4080a3:	68 4b 01 00 00       	push   $0x14b
4080a8:	e8 a6 65 00 00       	call   0x40e653
4080ad:	83 26 00             	andl   $0x0,(%esi)
4080b0:	59                   	pop    %ecx
4080b1:	59                   	pop    %ecx
4080b2:	33 f6                	xor    %esi,%esi
4080b4:	eb 2c                	jmp    0x4080e2
4080b6:	50                   	push   %eax
4080b7:	68 4b 01 00 00       	push   $0x14b
4080bc:	e8 92 65 00 00       	call   0x40e653
4080c1:	59                   	pop    %ecx
4080c2:	59                   	pop    %ecx
4080c3:	eb 1d                	jmp    0x4080e2
4080c5:	8b 45 1c             	mov    0x1c(%ebp),%eax
4080c8:	8b c8                	mov    %eax,%ecx
4080ca:	ff 34 bb             	push   (%ebx,%edi,4)
4080cd:	ff 70 08             	push   0x8(%eax)
4080d0:	ff 15 04 34 42 00    	call   *0x423404
4080d6:	8b 45 20             	mov    0x20(%ebp),%eax
4080d9:	6a 03                	push   $0x3
4080db:	5e                   	pop    %esi
4080dc:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
4080e2:	47                   	inc    %edi
4080e3:	89 7d f0             	mov    %edi,-0x10(%ebp)
4080e6:	89 7d e4             	mov    %edi,-0x1c(%ebp)
4080e9:	3b 7d ec             	cmp    -0x14(%ebp),%edi
4080ec:	0f 8c 2e fc ff ff    	jl     0x407d20
4080f2:	8b 55 08             	mov    0x8(%ebp),%edx
4080f5:	8b ce                	mov    %esi,%ecx
4080f7:	e8 75 fb ff ff       	call   0x407c71
4080fc:	8b 45 20             	mov    0x20(%ebp),%eax
4080ff:	83 38 00             	cmpl   $0x0,(%eax)
408102:	74 08                	je     0x40810c
408104:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
408107:	e8 3b a1 00 00       	call   0x412247
40810c:	e8 f5 42 01 00       	call   0x41c406
408111:	c2 38 00             	ret    $0x38
408114:	6a 08                	push   $0x8
408116:	b8 c6 c9 41 00       	mov    $0x41c9c6,%eax
40811b:	e8 18 43 01 00       	call   0x41c438
408120:	8b f9                	mov    %ecx,%edi
408122:	33 db                	xor    %ebx,%ebx
408124:	33 f6                	xor    %esi,%esi
408126:	43                   	inc    %ebx
408127:	85 ff                	test   %edi,%edi
408129:	0f 85 85 00 00 00    	jne    0x4081b4
40812f:	8d 4d f0             	lea    -0x10(%ebp),%ecx
408132:	ff 15 40 32 42 00    	call   *0x423240
408138:	89 75 fc             	mov    %esi,-0x4(%ebp)
40813b:	8d 55 f0             	lea    -0x10(%ebp),%edx
40813e:	b9 bc 02 00 00       	mov    $0x2bc,%ecx
408143:	e8 f9 66 00 00       	call   0x40e841
408148:	ff 75 f0             	push   -0x10(%ebp)
40814b:	53                   	push   %ebx
40814c:	56                   	push   %esi
40814d:	68 79 01 00 00       	push   $0x179
408152:	6a 04                	push   $0x4
408154:	e8 91 65 00 00       	call   0x40e6ea
408159:	83 c4 14             	add    $0x14,%esp
40815c:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
408160:	8d 4d f0             	lea    -0x10(%ebp),%ecx
408163:	ff 15 44 32 42 00    	call   *0x423244
408169:	8d 4d f0             	lea    -0x10(%ebp),%ecx
40816c:	ff 15 40 32 42 00    	call   *0x423240
408172:	c7 45 fc 03 00 00 00 	movl   $0x3,-0x4(%ebp)
408179:	8d 55 f0             	lea    -0x10(%ebp),%edx
40817c:	b9 bd 02 00 00       	mov    $0x2bd,%ecx
408181:	e8 bb 66 00 00       	call   0x40e841
408186:	6a 02                	push   $0x2
408188:	58                   	pop    %eax
408189:	8b ce                	mov    %esi,%ecx
40818b:	d1 e8                	shr    $1,%eax
40818d:	41                   	inc    %ecx
40818e:	84 c3                	test   %al,%bl
408190:	74 f9                	je     0x40818b
408192:	ff 75 f0             	push   -0x10(%ebp)
408195:	6a 02                	push   $0x2
408197:	51                   	push   %ecx
408198:	68 79 01 00 00       	push   $0x179
40819d:	6a 04                	push   $0x4
40819f:	e8 46 65 00 00       	call   0x40e6ea
4081a4:	83 c4 14             	add    $0x14,%esp
4081a7:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4081ab:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4081ae:	ff 15 44 32 42 00    	call   *0x423244
4081b4:	3b fb                	cmp    %ebx,%edi
4081b6:	75 4b                	jne    0x408203
4081b8:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4081bb:	ff 15 40 32 42 00    	call   *0x423240
4081c1:	c7 45 fc 06 00 00 00 	movl   $0x6,-0x4(%ebp)
4081c8:	8d 55 f0             	lea    -0x10(%ebp),%edx
4081cb:	b9 be 02 00 00       	mov    $0x2be,%ecx
4081d0:	e8 6c 66 00 00       	call   0x40e841
4081d5:	6a 04                	push   $0x4
4081d7:	58                   	pop    %eax
4081d8:	8b ce                	mov    %esi,%ecx
4081da:	d1 e8                	shr    $1,%eax
4081dc:	41                   	inc    %ecx
4081dd:	84 c3                	test   %al,%bl
4081df:	74 f9                	je     0x4081da
4081e1:	ff 75 f0             	push   -0x10(%ebp)
4081e4:	6a 04                	push   $0x4
4081e6:	51                   	push   %ecx
4081e7:	68 79 01 00 00       	push   $0x179
4081ec:	6a 04                	push   $0x4
4081ee:	e8 f7 64 00 00       	call   0x40e6ea
4081f3:	83 c4 14             	add    $0x14,%esp
4081f6:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4081fa:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4081fd:	ff 15 44 32 42 00    	call   *0x423244
408203:	85 ff                	test   %edi,%edi
408205:	0f 85 7d 01 00 00    	jne    0x408388
40820b:	8d 4d f0             	lea    -0x10(%ebp),%ecx
40820e:	ff 15 40 32 42 00    	call   *0x423240
408214:	c7 45 fc 09 00 00 00 	movl   $0x9,-0x4(%ebp)
40821b:	8d 55 f0             	lea    -0x10(%ebp),%edx
40821e:	b9 bf 02 00 00       	mov    $0x2bf,%ecx
408223:	e8 19 66 00 00       	call   0x40e841
408228:	6a 08                	push   $0x8
40822a:	58                   	pop    %eax
40822b:	8b ce                	mov    %esi,%ecx
40822d:	d1 e8                	shr    $1,%eax
40822f:	41                   	inc    %ecx
408230:	84 c3                	test   %al,%bl
408232:	74 f9                	je     0x40822d
408234:	ff 75 f0             	push   -0x10(%ebp)
408237:	6a 08                	push   $0x8
408239:	51                   	push   %ecx
40823a:	68 79 01 00 00       	push   $0x179
40823f:	6a 04                	push   $0x4
408241:	e8 a4 64 00 00       	call   0x40e6ea
408246:	83 c4 14             	add    $0x14,%esp
408249:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40824d:	8d 4d f0             	lea    -0x10(%ebp),%ecx
408250:	ff 15 44 32 42 00    	call   *0x423244
408256:	8d 4d f0             	lea    -0x10(%ebp),%ecx
408259:	ff 15 40 32 42 00    	call   *0x423240
40825f:	c7 45 fc 0c 00 00 00 	movl   $0xc,-0x4(%ebp)
408266:	8d 55 f0             	lea    -0x10(%ebp),%edx
408269:	b9 c0 02 00 00       	mov    $0x2c0,%ecx
40826e:	e8 ce 65 00 00       	call   0x40e841
408273:	6a 10                	push   $0x10
408275:	58                   	pop    %eax
408276:	8b ce                	mov    %esi,%ecx
408278:	d1 e8                	shr    $1,%eax
40827a:	41                   	inc    %ecx
40827b:	84 c3                	test   %al,%bl
40827d:	74 f9                	je     0x408278
40827f:	ff 75 f0             	push   -0x10(%ebp)
408282:	6a 10                	push   $0x10
408284:	51                   	push   %ecx
408285:	68 79 01 00 00       	push   $0x179
40828a:	6a 04                	push   $0x4
40828c:	e8 59 64 00 00       	call   0x40e6ea
408291:	83 c4 14             	add    $0x14,%esp
408294:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
408298:	8d 4d f0             	lea    -0x10(%ebp),%ecx
40829b:	ff 15 44 32 42 00    	call   *0x423244
4082a1:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4082a4:	ff 15 40 32 42 00    	call   *0x423240
4082aa:	c7 45 fc 0f 00 00 00 	movl   $0xf,-0x4(%ebp)
4082b1:	8d 55 f0             	lea    -0x10(%ebp),%edx
4082b4:	b9 c1 02 00 00       	mov    $0x2c1,%ecx
4082b9:	e8 83 65 00 00       	call   0x40e841
4082be:	6a 20                	push   $0x20
4082c0:	58                   	pop    %eax
4082c1:	8b ce                	mov    %esi,%ecx
4082c3:	d1 e8                	shr    $1,%eax
4082c5:	41                   	inc    %ecx
4082c6:	84 c3                	test   %al,%bl
4082c8:	74 f9                	je     0x4082c3
4082ca:	ff 75 f0             	push   -0x10(%ebp)
4082cd:	6a 20                	push   $0x20
4082cf:	51                   	push   %ecx
4082d0:	68 79 01 00 00       	push   $0x179
4082d5:	6a 04                	push   $0x4
4082d7:	e8 0e 64 00 00       	call   0x40e6ea
4082dc:	83 c4 14             	add    $0x14,%esp
4082df:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4082e3:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4082e6:	ff 15 44 32 42 00    	call   *0x423244
4082ec:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4082ef:	ff 15 40 32 42 00    	call   *0x423240
4082f5:	c7 45 fc 12 00 00 00 	movl   $0x12,-0x4(%ebp)
4082fc:	8d 55 f0             	lea    -0x10(%ebp),%edx
4082ff:	b9 c3 02 00 00       	mov    $0x2c3,%ecx
408304:	e8 38 65 00 00       	call   0x40e841
408309:	ba 80 00 00 00       	mov    $0x80,%edx
40830e:	8b ce                	mov    %esi,%ecx
408310:	8b c2                	mov    %edx,%eax
408312:	d1 e8                	shr    $1,%eax
408314:	41                   	inc    %ecx
408315:	84 c3                	test   %al,%bl
408317:	74 f9                	je     0x408312
408319:	ff 75 f0             	push   -0x10(%ebp)
40831c:	52                   	push   %edx
40831d:	51                   	push   %ecx
40831e:	68 79 01 00 00       	push   $0x179
408323:	6a 04                	push   $0x4
408325:	e8 c0 63 00 00       	call   0x40e6ea
40832a:	83 c4 14             	add    $0x14,%esp
40832d:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
408331:	8d 4d f0             	lea    -0x10(%ebp),%ecx
408334:	ff 15 44 32 42 00    	call   *0x423244
40833a:	8d 4d f0             	lea    -0x10(%ebp),%ecx
40833d:	ff 15 40 32 42 00    	call   *0x423240
408343:	c7 45 fc 15 00 00 00 	movl   $0x15,-0x4(%ebp)
40834a:	8d 55 f0             	lea    -0x10(%ebp),%edx
40834d:	b9 c4 02 00 00       	mov    $0x2c4,%ecx
408352:	e8 ea 64 00 00       	call   0x40e841
408357:	ba 00 01 00 00       	mov    $0x100,%edx
40835c:	8b ce                	mov    %esi,%ecx
40835e:	8b c2                	mov    %edx,%eax
408360:	d1 e8                	shr    $1,%eax
408362:	41                   	inc    %ecx
408363:	84 c3                	test   %al,%bl
408365:	74 f9                	je     0x408360
408367:	ff 75 f0             	push   -0x10(%ebp)
40836a:	52                   	push   %edx
40836b:	51                   	push   %ecx
40836c:	68 79 01 00 00       	push   $0x179
408371:	6a 04                	push   $0x4
408373:	e8 72 63 00 00       	call   0x40e6ea
408378:	83 c4 14             	add    $0x14,%esp
40837b:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40837f:	8d 4d f0             	lea    -0x10(%ebp),%ecx
408382:	ff 15 44 32 42 00    	call   *0x423244
408388:	3b fb                	cmp    %ebx,%edi
40838a:	0f 85 f4 00 00 00    	jne    0x408484
408390:	8d 4d f0             	lea    -0x10(%ebp),%ecx
408393:	ff 15 40 32 42 00    	call   *0x423240
408399:	c7 45 fc 18 00 00 00 	movl   $0x18,-0x4(%ebp)
4083a0:	8d 55 f0             	lea    -0x10(%ebp),%edx
4083a3:	b9 c5 02 00 00       	mov    $0x2c5,%ecx
4083a8:	e8 94 64 00 00       	call   0x40e841
4083ad:	68 f4 43 40 00       	push   $0x4043f4
4083b2:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4083b5:	ff 15 14 34 42 00    	call   *0x423414
4083bb:	c6 45 fc 19          	movb   $0x19,-0x4(%ebp)
4083bf:	8d 45 ec             	lea    -0x14(%ebp),%eax
4083c2:	50                   	push   %eax
4083c3:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4083c6:	ff 15 ec 33 42 00    	call   *0x4233ec
4083cc:	c6 45 fc 18          	movb   $0x18,-0x4(%ebp)
4083d0:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4083d3:	ff 15 44 32 42 00    	call   *0x423244
4083d9:	ba 00 02 00 00       	mov    $0x200,%edx
4083de:	8b ce                	mov    %esi,%ecx
4083e0:	8b c2                	mov    %edx,%eax
4083e2:	d1 e8                	shr    $1,%eax
4083e4:	41                   	inc    %ecx
4083e5:	84 c3                	test   %al,%bl
4083e7:	74 f9                	je     0x4083e2
4083e9:	ff 75 f0             	push   -0x10(%ebp)
4083ec:	52                   	push   %edx
4083ed:	51                   	push   %ecx
4083ee:	68 79 01 00 00       	push   $0x179
4083f3:	6a 04                	push   $0x4
4083f5:	e8 f0 62 00 00       	call   0x40e6ea
4083fa:	83 c4 14             	add    $0x14,%esp
4083fd:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
408401:	8d 4d f0             	lea    -0x10(%ebp),%ecx
408404:	ff 15 44 32 42 00    	call   *0x423244
40840a:	8d 4d f0             	lea    -0x10(%ebp),%ecx
40840d:	ff 15 40 32 42 00    	call   *0x423240
408413:	c7 45 fc 1b 00 00 00 	movl   $0x1b,-0x4(%ebp)
40841a:	8d 55 f0             	lea    -0x10(%ebp),%edx
40841d:	b9 c6 02 00 00       	mov    $0x2c6,%ecx
408422:	e8 1a 64 00 00       	call   0x40e841
408427:	68 f4 43 40 00       	push   $0x4043f4
40842c:	8d 4d ec             	lea    -0x14(%ebp),%ecx
40842f:	ff 15 14 34 42 00    	call   *0x423414
408435:	c6 45 fc 1c          	movb   $0x1c,-0x4(%ebp)
408439:	8d 45 ec             	lea    -0x14(%ebp),%eax
40843c:	50                   	push   %eax
40843d:	8d 4d f0             	lea    -0x10(%ebp),%ecx
408440:	ff 15 ec 33 42 00    	call   *0x4233ec
408446:	c6 45 fc 1b          	movb   $0x1b,-0x4(%ebp)
40844a:	8d 4d ec             	lea    -0x14(%ebp),%ecx
40844d:	ff 15 44 32 42 00    	call   *0x423244
408453:	ba 00 04 00 00       	mov    $0x400,%edx
408458:	8b ce                	mov    %esi,%ecx
40845a:	8b c2                	mov    %edx,%eax
40845c:	d1 e8                	shr    $1,%eax
40845e:	41                   	inc    %ecx
40845f:	84 c3                	test   %al,%bl
408461:	74 f9                	je     0x40845c
408463:	ff 75 f0             	push   -0x10(%ebp)
408466:	52                   	push   %edx
408467:	51                   	push   %ecx
408468:	68 79 01 00 00       	push   $0x179
40846d:	6a 04                	push   $0x4
40846f:	e8 76 62 00 00       	call   0x40e6ea
408474:	83 c4 14             	add    $0x14,%esp
408477:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40847b:	8d 4d f0             	lea    -0x10(%ebp),%ecx
40847e:	ff 15 44 32 42 00    	call   *0x423244
408484:	85 ff                	test   %edi,%edi
408486:	75 4e                	jne    0x4084d6
408488:	8d 4d f0             	lea    -0x10(%ebp),%ecx
40848b:	ff 15 40 32 42 00    	call   *0x423240
408491:	c7 45 fc 1e 00 00 00 	movl   $0x1e,-0x4(%ebp)
408498:	8d 55 f0             	lea    -0x10(%ebp),%edx
40849b:	b9 c7 02 00 00       	mov    $0x2c7,%ecx
4084a0:	e8 9c 63 00 00       	call   0x40e841
4084a5:	ba 00 08 00 00       	mov    $0x800,%edx
4084aa:	8b ce                	mov    %esi,%ecx
4084ac:	8b c2                	mov    %edx,%eax
4084ae:	d1 e8                	shr    $1,%eax
4084b0:	41                   	inc    %ecx
4084b1:	84 c3                	test   %al,%bl
4084b3:	74 f9                	je     0x4084ae
4084b5:	ff 75 f0             	push   -0x10(%ebp)
4084b8:	52                   	push   %edx
4084b9:	51                   	push   %ecx
4084ba:	68 79 01 00 00       	push   $0x179
4084bf:	6a 04                	push   $0x4
4084c1:	e8 24 62 00 00       	call   0x40e6ea
4084c6:	83 c4 14             	add    $0x14,%esp
4084c9:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4084cd:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4084d0:	ff 15 44 32 42 00    	call   *0x423244
4084d6:	83 ff 02             	cmp    $0x2,%edi
4084d9:	75 4e                	jne    0x408529