406132:	8b 45 08             	mov    0x8(%ebp),%eax
406135:	8b 80 c4 00 00 00    	mov    0xc4(%eax),%eax
40613b:	3b 41 08             	cmp    0x8(%ecx),%eax
40613e:	72 05                	jb     0x406145
406140:	3b 41 04             	cmp    0x4(%ecx),%eax
406143:	76 05                	jbe    0x40614a
406145:	6a 0d                	push   $0xd
406147:	59                   	pop    %ecx
406148:	cd 29                	int    $0x29
40614a:	5d                   	pop    %ebp
40614b:	c3                   	ret
40614c:	cc                   	int3
40614d:	cc                   	int3
40614e:	cc                   	int3
40614f:	cc                   	int3
406150:	53                   	push   %ebx
406151:	56                   	push   %esi
406152:	57                   	push   %edi
406153:	8b 54 24 10          	mov    0x10(%esp),%edx
406157:	8b 44 24 14          	mov    0x14(%esp),%eax
40615b:	8b 4c 24 18          	mov    0x18(%esp),%ecx
40615f:	55                   	push   %ebp
406160:	52                   	push   %edx
406161:	50                   	push   %eax
406162:	51                   	push   %ecx
406163:	51                   	push   %ecx
406164:	68 f0 61 40 00       	push   $0x4061f0
406169:	64 ff 35 00 00 00 00 	push   %fs:0x0
406170:	a1 c0 10 42 00       	mov    0x4210c0,%eax
406175:	33 c4                	xor    %esp,%eax
406177:	89 44 24 08          	mov    %eax,0x8(%esp)
40617b:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
406182:	8b 44 24 30          	mov    0x30(%esp),%eax
406186:	8b 58 08             	mov    0x8(%eax),%ebx
406189:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
40618d:	33 19                	xor    (%ecx),%ebx
40618f:	8b 70 0c             	mov    0xc(%eax),%esi
406192:	83 fe fe             	cmp    $0xfffffffe,%esi
406195:	0f 84 46 00 00 00    	je     0x4061e1
40619b:	8b 54 24 34          	mov    0x34(%esp),%edx
40619f:	83 fa fe             	cmp    $0xfffffffe,%edx
4061a2:	74 08                	je     0x4061ac
4061a4:	3b f2                	cmp    %edx,%esi
4061a6:	0f 86 35 00 00 00    	jbe    0x4061e1
4061ac:	8d 34 76             	lea    (%esi,%esi,2),%esi
4061af:	8d 5c b3 10          	lea    0x10(%ebx,%esi,4),%ebx
4061b3:	8b 0b                	mov    (%ebx),%ecx
4061b5:	89 48 0c             	mov    %ecx,0xc(%eax)
4061b8:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
4061bc:	0f 85 c0 ff ff ff    	jne    0x406182
4061c2:	68 01 01 00 00       	push   $0x101
4061c7:	8b 43 08             	mov    0x8(%ebx),%eax
4061ca:	e8 d1 03 00 00       	call   0x4065a0
4061cf:	b9 01 00 00 00       	mov    $0x1,%ecx
4061d4:	8b 43 08             	mov    0x8(%ebx),%eax
4061d7:	e8 e4 03 00 00       	call   0x4065c0
4061dc:	e9 a1 ff ff ff       	jmp    0x406182
4061e1:	64 8f 05 00 00 00 00 	pop    %fs:0x0
4061e8:	83 c4 18             	add    $0x18,%esp
4061eb:	5f                   	pop    %edi
4061ec:	5e                   	pop    %esi
4061ed:	5b                   	pop    %ebx
4061ee:	c3                   	ret
4061ef:	cc                   	int3
4061f0:	8b 4c 24 04          	mov    0x4(%esp),%ecx
4061f4:	f7 41 04 06 00 00 00 	testl  $0x6,0x4(%ecx)
4061fb:	b8 01 00 00 00       	mov    $0x1,%eax
406200:	74 33                	je     0x406235
406202:	8b 44 24 08          	mov    0x8(%esp),%eax
406206:	8b 48 08             	mov    0x8(%eax),%ecx
406209:	33 c8                	xor    %eax,%ecx
40620b:	e8 b8 de ff ff       	call   0x4040c8
406210:	55                   	push   %ebp
406211:	8b 68 18             	mov    0x18(%eax),%ebp
406214:	ff 70 0c             	push   0xc(%eax)
406217:	ff 70 10             	push   0x10(%eax)
40621a:	ff 70 14             	push   0x14(%eax)
40621d:	e8 2e ff ff ff       	call   0x406150
406222:	83 c4 0c             	add    $0xc,%esp
406225:	5d                   	pop    %ebp
406226:	8b 44 24 08          	mov    0x8(%esp),%eax
40622a:	8b 54 24 10          	mov    0x10(%esp),%edx
40622e:	89 02                	mov    %eax,(%edx)
406230:	b8 03 00 00 00       	mov    $0x3,%eax
406235:	c3                   	ret
406236:	cc                   	int3
406237:	cc                   	int3
406238:	cc                   	int3
406239:	cc                   	int3
40623a:	cc                   	int3
40623b:	cc                   	int3
40623c:	cc                   	int3
40623d:	cc                   	int3
40623e:	cc                   	int3
40623f:	cc                   	int3
406240:	55                   	push   %ebp
406241:	56                   	push   %esi
406242:	57                   	push   %edi
406243:	53                   	push   %ebx
406244:	8b ea                	mov    %edx,%ebp
406246:	33 c0                	xor    %eax,%eax
406248:	33 db                	xor    %ebx,%ebx
40624a:	33 d2                	xor    %edx,%edx
40624c:	33 f6                	xor    %esi,%esi
40624e:	33 ff                	xor    %edi,%edi
406250:	ff d1                	call   *%ecx
406252:	5b                   	pop    %ebx
406253:	5f                   	pop    %edi
406254:	5e                   	pop    %esi
406255:	5d                   	pop    %ebp
406256:	c3                   	ret
406257:	cc                   	int3
406258:	cc                   	int3
406259:	cc                   	int3
40625a:	cc                   	int3
40625b:	cc                   	int3
40625c:	cc                   	int3
40625d:	cc                   	int3
40625e:	cc                   	int3
40625f:	cc                   	int3
406260:	8b ea                	mov    %edx,%ebp
406262:	8b f1                	mov    %ecx,%esi
406264:	8b c1                	mov    %ecx,%eax
406266:	6a 01                	push   $0x1
406268:	e8 33 03 00 00       	call   0x4065a0
40626d:	33 c0                	xor    %eax,%eax
40626f:	33 db                	xor    %ebx,%ebx
406271:	33 c9                	xor    %ecx,%ecx
406273:	33 d2                	xor    %edx,%edx
406275:	33 ff                	xor    %edi,%edi
406277:	ff e6                	jmp    *%esi
406279:	cc                   	int3
40627a:	cc                   	int3
40627b:	cc                   	int3
40627c:	cc                   	int3
40627d:	cc                   	int3
40627e:	cc                   	int3
40627f:	cc                   	int3
406280:	55                   	push   %ebp
406281:	8b ec                	mov    %esp,%ebp
406283:	53                   	push   %ebx
406284:	56                   	push   %esi
406285:	57                   	push   %edi
406286:	6a 00                	push   $0x0
406288:	52                   	push   %edx
406289:	68 95 62 40 00       	push   $0x406295
40628e:	51                   	push   %ecx
40628f:	ff 15 84 90 41 00    	call   *0x419084
406295:	5f                   	pop    %edi
406296:	5e                   	pop    %esi
406297:	5b                   	pop    %ebx
406298:	5d                   	pop    %ebp
406299:	c3                   	ret
40629a:	cc                   	int3
40629b:	cc                   	int3
40629c:	cc                   	int3
40629d:	cc                   	int3
40629e:	cc                   	int3
40629f:	cc                   	int3
4062a0:	55                   	push   %ebp
4062a1:	8b 6c 24 08          	mov    0x8(%esp),%ebp
4062a5:	52                   	push   %edx
4062a6:	51                   	push   %ecx
4062a7:	ff 74 24 14          	push   0x14(%esp)
4062ab:	e8 a0 fe ff ff       	call   0x406150
4062b0:	83 c4 0c             	add    $0xc,%esp
4062b3:	5d                   	pop    %ebp
4062b4:	c2 08 00             	ret    $0x8
4062b7:	56                   	push   %esi
4062b8:	57                   	push   %edi
4062b9:	bf c0 1d 42 00       	mov    $0x421dc0,%edi
4062be:	33 f6                	xor    %esi,%esi
4062c0:	6a 00                	push   $0x0
4062c2:	68 a0 0f 00 00       	push   $0xfa0
4062c7:	57                   	push   %edi
4062c8:	e8 2f 02 00 00       	call   0x4064fc
4062cd:	83 c4 0c             	add    $0xc,%esp
4062d0:	85 c0                	test   %eax,%eax
4062d2:	74 15                	je     0x4062e9
4062d4:	ff 05 d8 1d 42 00    	incl   0x421dd8
4062da:	83 c6 18             	add    $0x18,%esi
4062dd:	83 c7 18             	add    $0x18,%edi
4062e0:	83 fe 18             	cmp    $0x18,%esi
4062e3:	72 db                	jb     0x4062c0
4062e5:	b0 01                	mov    $0x1,%al
4062e7:	eb 07                	jmp    0x4062f0
4062e9:	e8 05 00 00 00       	call   0x4062f3
4062ee:	32 c0                	xor    %al,%al
4062f0:	5f                   	pop    %edi
4062f1:	5e                   	pop    %esi
4062f2:	c3                   	ret
4062f3:	56                   	push   %esi
4062f4:	8b 35 d8 1d 42 00    	mov    0x421dd8,%esi
4062fa:	85 f6                	test   %esi,%esi
4062fc:	74 20                	je     0x40631e
4062fe:	6b c6 18             	imul   $0x18,%esi,%eax
406301:	57                   	push   %edi
406302:	8d b8 a8 1d 42 00    	lea    0x421da8(%eax),%edi
406308:	57                   	push   %edi
406309:	ff 15 98 90 41 00    	call   *0x419098
40630f:	ff 0d d8 1d 42 00    	decl   0x421dd8
406315:	83 ef 18             	sub    $0x18,%edi
406318:	83 ee 01             	sub    $0x1,%esi
40631b:	75 eb                	jne    0x406308
40631d:	5f                   	pop    %edi
40631e:	b0 01                	mov    $0x1,%al
406320:	5e                   	pop    %esi
406321:	c3                   	ret
406322:	55                   	push   %ebp
406323:	8b ec                	mov    %esp,%ebp
406325:	51                   	push   %ecx
406326:	51                   	push   %ecx
406327:	8b 45 08             	mov    0x8(%ebp),%eax
40632a:	57                   	push   %edi
40632b:	8d 04 85 24 1e 42 00 	lea    0x421e24(,%eax,4),%eax
406332:	89 45 f8             	mov    %eax,-0x8(%ebp)
406335:	8b 00                	mov    (%eax),%eax
406337:	90                   	nop
406338:	83 cf ff             	or     $0xffffffff,%edi
40633b:	3b c7                	cmp    %edi,%eax
40633d:	75 04                	jne    0x406343
40633f:	33 c0                	xor    %eax,%eax
406341:	eb 56                	jmp    0x406399
406343:	85 c0                	test   %eax,%eax
406345:	75 52                	jne    0x406399
406347:	53                   	push   %ebx
406348:	8b 5d 10             	mov    0x10(%ebp),%ebx
40634b:	56                   	push   %esi
40634c:	eb 3d                	jmp    0x40638b
40634e:	8b 0b                	mov    (%ebx),%ecx
406350:	89 4d fc             	mov    %ecx,-0x4(%ebp)
406353:	8d 04 8d 18 1e 42 00 	lea    0x421e18(,%ecx,4),%eax
40635a:	8b 30                	mov    (%eax),%esi
40635c:	90                   	nop
40635d:	85 f6                	test   %esi,%esi
40635f:	74 06                	je     0x406367
406361:	3b f7                	cmp    %edi,%esi
406363:	75 46                	jne    0x4063ab
406365:	eb 21                	jmp    0x406388
406367:	ff 34 8d 9c 9f 41 00 	push   0x419f9c(,%ecx,4)
40636e:	e8 4f 00 00 00       	call   0x4063c2
406373:	8b 55 fc             	mov    -0x4(%ebp),%edx
406376:	8b f0                	mov    %eax,%esi
406378:	59                   	pop    %ecx
406379:	8d 0c 95 18 1e 42 00 	lea    0x421e18(,%edx,4),%ecx
406380:	85 f6                	test   %esi,%esi
406382:	75 18                	jne    0x40639c
406384:	8b c7                	mov    %edi,%eax
406386:	87 01                	xchg   %eax,(%ecx)
406388:	83 c3 04             	add    $0x4,%ebx
40638b:	3b 5d 14             	cmp    0x14(%ebp),%ebx
40638e:	75 be                	jne    0x40634e
406390:	8b 55 f8             	mov    -0x8(%ebp),%edx
406393:	87 3a                	xchg   %edi,(%edx)
406395:	33 c0                	xor    %eax,%eax
406397:	5e                   	pop    %esi
406398:	5b                   	pop    %ebx
406399:	5f                   	pop    %edi
40639a:	c9                   	leave
40639b:	c3                   	ret
40639c:	8b c6                	mov    %esi,%eax
40639e:	87 01                	xchg   %eax,(%ecx)
4063a0:	85 c0                	test   %eax,%eax
4063a2:	74 07                	je     0x4063ab
4063a4:	56                   	push   %esi
4063a5:	ff 15 b0 90 41 00    	call   *0x4190b0
4063ab:	ff 75 0c             	push   0xc(%ebp)
4063ae:	56                   	push   %esi
4063af:	ff 15 b4 90 41 00    	call   *0x4190b4
4063b5:	85 c0                	test   %eax,%eax
4063b7:	74 d7                	je     0x406390
4063b9:	8b 55 f8             	mov    -0x8(%ebp),%edx
4063bc:	8b c8                	mov    %eax,%ecx
4063be:	87 0a                	xchg   %ecx,(%edx)
4063c0:	eb d5                	jmp    0x406397
4063c2:	55                   	push   %ebp
4063c3:	8b ec                	mov    %esp,%ebp
4063c5:	68 00 08 00 00       	push   $0x800
4063ca:	6a 00                	push   $0x0
4063cc:	ff 75 08             	push   0x8(%ebp)
4063cf:	ff 15 00 90 41 00    	call   *0x419000
4063d5:	85 c0                	test   %eax,%eax
4063d7:	75 32                	jne    0x40640b
4063d9:	ff 15 28 90 41 00    	call   *0x419028
4063df:	83 f8 57             	cmp    $0x57,%eax
4063e2:	75 25                	jne    0x406409
4063e4:	6a 07                	push   $0x7
4063e6:	68 34 a0 41 00       	push   $0x41a034
4063eb:	ff 75 08             	push   0x8(%ebp)
4063ee:	e8 65 42 00 00       	call   0x40a658
4063f3:	83 c4 0c             	add    $0xc,%esp
4063f6:	85 c0                	test   %eax,%eax
4063f8:	74 0f                	je     0x406409
4063fa:	6a 00                	push   $0x0
4063fc:	6a 00                	push   $0x0
4063fe:	ff 75 08             	push   0x8(%ebp)
406401:	ff 15 00 90 41 00    	call   *0x419000
406407:	5d                   	pop    %ebp
406408:	c3                   	ret
406409:	33 c0                	xor    %eax,%eax
40640b:	5d                   	pop    %ebp
40640c:	c3                   	ret
40640d:	55                   	push   %ebp
40640e:	8b ec                	mov    %esp,%ebp
406410:	56                   	push   %esi
406411:	68 4c a0 41 00       	push   $0x41a04c
406416:	68 44 a0 41 00       	push   $0x41a044
40641b:	68 4c a0 41 00       	push   $0x41a04c
406420:	6a 00                	push   $0x0
406422:	e8 fb fe ff ff       	call   0x406322
406427:	8b f0                	mov    %eax,%esi
406429:	83 c4 10             	add    $0x10,%esp
40642c:	85 f6                	test   %esi,%esi
40642e:	74 10                	je     0x406440
406430:	ff 75 08             	push   0x8(%ebp)
406433:	8b ce                	mov    %esi,%ecx
406435:	ff 15 54 91 41 00    	call   *0x419154
40643b:	ff d6                	call   *%esi
40643d:	5e                   	pop    %esi
40643e:	5d                   	pop    %ebp
40643f:	c3                   	ret
406440:	5e                   	pop    %esi
406441:	5d                   	pop    %ebp
406442:	ff 25 a0 90 41 00    	jmp    *0x4190a0
406448:	55                   	push   %ebp
406449:	8b ec                	mov    %esp,%ebp
40644b:	56                   	push   %esi
40644c:	68 60 a0 41 00       	push   $0x41a060
406451:	68 58 a0 41 00       	push   $0x41a058
406456:	68 60 a0 41 00       	push   $0x41a060
40645b:	6a 01                	push   $0x1
40645d:	e8 c0 fe ff ff       	call   0x406322
406462:	83 c4 10             	add    $0x10,%esp
406465:	8b f0                	mov    %eax,%esi
406467:	ff 75 08             	push   0x8(%ebp)
40646a:	85 f6                	test   %esi,%esi
40646c:	74 0c                	je     0x40647a
40646e:	8b ce                	mov    %esi,%ecx
406470:	ff 15 54 91 41 00    	call   *0x419154
406476:	ff d6                	call   *%esi
406478:	eb 06                	jmp    0x406480
40647a:	ff 15 ac 90 41 00    	call   *0x4190ac
406480:	5e                   	pop    %esi
406481:	5d                   	pop    %ebp
406482:	c3                   	ret
406483:	55                   	push   %ebp
406484:	8b ec                	mov    %esp,%ebp
406486:	56                   	push   %esi
406487:	68 70 a0 41 00       	push   $0x41a070
40648c:	68 68 a0 41 00       	push   $0x41a068