4060c6:	68 01 01 00 00       	push   $0x101
4060cb:	8b 43 08             	mov    0x8(%ebx),%eax
4060ce:	e8 da 22 00 00       	call   0x4083ad
4060d3:	b9 01 00 00 00       	mov    $0x1,%ecx
4060d8:	8b 43 08             	mov    0x8(%ebx),%eax
4060db:	e8 ec 22 00 00       	call   0x4083cc
4060e0:	eb b0                	jmp    0x406092
4060e2:	64 8f 05 00 00 00 00 	pop    %fs:0x0
4060e9:	83 c4 18             	add    $0x18,%esp
4060ec:	5f                   	pop    %edi
4060ed:	5e                   	pop    %esi
4060ee:	5b                   	pop    %ebx
4060ef:	c3                   	ret
4060f0:	8b 4c 24 04          	mov    0x4(%esp),%ecx
4060f4:	f7 41 04 06 00 00 00 	testl  $0x6,0x4(%ecx)
4060fb:	b8 01 00 00 00       	mov    $0x1,%eax
406100:	74 33                	je     0x406135
406102:	8b 44 24 08          	mov    0x8(%esp),%eax
406106:	8b 48 08             	mov    0x8(%eax),%ecx
406109:	33 c8                	xor    %eax,%ecx
40610b:	e8 f0 ae ff ff       	call   0x401000
406110:	55                   	push   %ebp
406111:	8b 68 18             	mov    0x18(%eax),%ebp
406114:	ff 70 0c             	push   0xc(%eax)
406117:	ff 70 10             	push   0x10(%eax)
40611a:	ff 70 14             	push   0x14(%eax)
40611d:	e8 3e ff ff ff       	call   0x406060
406122:	83 c4 0c             	add    $0xc,%esp
406125:	5d                   	pop    %ebp
406126:	8b 44 24 08          	mov    0x8(%esp),%eax
40612a:	8b 54 24 10          	mov    0x10(%esp),%edx
40612e:	89 02                	mov    %eax,(%edx)
406130:	b8 03 00 00 00       	mov    $0x3,%eax
406135:	c3                   	ret
406136:	55                   	push   %ebp
406137:	8b 4c 24 08          	mov    0x8(%esp),%ecx
40613b:	8b 29                	mov    (%ecx),%ebp
40613d:	ff 71 1c             	push   0x1c(%ecx)
406140:	ff 71 18             	push   0x18(%ecx)
406143:	ff 71 28             	push   0x28(%ecx)
406146:	e8 15 ff ff ff       	call   0x406060
40614b:	83 c4 0c             	add    $0xc,%esp
40614e:	5d                   	pop    %ebp
40614f:	c2 04 00             	ret    $0x4
406152:	55                   	push   %ebp
406153:	56                   	push   %esi
406154:	57                   	push   %edi
406155:	53                   	push   %ebx
406156:	8b ea                	mov    %edx,%ebp
406158:	33 c0                	xor    %eax,%eax
40615a:	33 db                	xor    %ebx,%ebx
40615c:	33 d2                	xor    %edx,%edx
40615e:	33 f6                	xor    %esi,%esi
406160:	33 ff                	xor    %edi,%edi
406162:	ff d1                	call   *%ecx
406164:	5b                   	pop    %ebx
406165:	5f                   	pop    %edi
406166:	5e                   	pop    %esi
406167:	5d                   	pop    %ebp
406168:	c3                   	ret
406169:	8b ea                	mov    %edx,%ebp
40616b:	8b f1                	mov    %ecx,%esi
40616d:	8b c1                	mov    %ecx,%eax
40616f:	6a 01                	push   $0x1
406171:	e8 37 22 00 00       	call   0x4083ad
406176:	33 c0                	xor    %eax,%eax
406178:	33 db                	xor    %ebx,%ebx
40617a:	33 c9                	xor    %ecx,%ecx
40617c:	33 d2                	xor    %edx,%edx
40617e:	33 ff                	xor    %edi,%edi
406180:	ff e6                	jmp    *%esi
406182:	55                   	push   %ebp
406183:	8b ec                	mov    %esp,%ebp
406185:	53                   	push   %ebx
406186:	56                   	push   %esi
406187:	57                   	push   %edi
406188:	6a 00                	push   $0x0
40618a:	6a 00                	push   $0x0
40618c:	68 97 61 40 00       	push   $0x406197
406191:	51                   	push   %ecx
406192:	e8 f7 51 00 00       	call   0x40b38e
406197:	5f                   	pop    %edi
406198:	5e                   	pop    %esi
406199:	5b                   	pop    %ebx
40619a:	5d                   	pop    %ebp
40619b:	c3                   	ret
40619c:	55                   	push   %ebp
40619d:	8b 6c 24 08          	mov    0x8(%esp),%ebp
4061a1:	52                   	push   %edx
4061a2:	51                   	push   %ecx
4061a3:	ff 74 24 14          	push   0x14(%esp)
4061a7:	e8 b4 fe ff ff       	call   0x406060
4061ac:	83 c4 0c             	add    $0xc,%esp
4061af:	5d                   	pop    %ebp
4061b0:	c2 08 00             	ret    $0x8
4061b3:	8b ff                	mov    %edi,%edi
4061b5:	55                   	push   %ebp
4061b6:	8b ec                	mov    %esp,%ebp
4061b8:	83 ec 10             	sub    $0x10,%esp
4061bb:	56                   	push   %esi
4061bc:	ff 75 0c             	push   0xc(%ebp)
4061bf:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4061c2:	e8 07 e4 ff ff       	call   0x4045ce
4061c7:	8b 75 08             	mov    0x8(%ebp),%esi
4061ca:	0f be 06             	movsbl (%esi),%eax
4061cd:	50                   	push   %eax
4061ce:	e8 3f 23 00 00       	call   0x408512
4061d3:	83 f8 65             	cmp    $0x65,%eax
4061d6:	eb 0c                	jmp    0x4061e4
4061d8:	46                   	inc    %esi
4061d9:	0f b6 06             	movzbl (%esi),%eax
4061dc:	50                   	push   %eax
4061dd:	e8 d5 0d 00 00       	call   0x406fb7
4061e2:	85 c0                	test   %eax,%eax
4061e4:	59                   	pop    %ecx
4061e5:	75 f1                	jne    0x4061d8
4061e7:	0f be 06             	movsbl (%esi),%eax
4061ea:	50                   	push   %eax
4061eb:	e8 22 23 00 00       	call   0x408512
4061f0:	59                   	pop    %ecx
4061f1:	83 f8 78             	cmp    $0x78,%eax
4061f4:	75 02                	jne    0x4061f8
4061f6:	46                   	inc    %esi
4061f7:	46                   	inc    %esi
4061f8:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4061fb:	8b 89 bc 00 00 00    	mov    0xbc(%ecx),%ecx
406201:	8b 09                	mov    (%ecx),%ecx
406203:	8a 06                	mov    (%esi),%al
406205:	8a 09                	mov    (%ecx),%cl
406207:	88 0e                	mov    %cl,(%esi)
406209:	46                   	inc    %esi
40620a:	8a 0e                	mov    (%esi),%cl
40620c:	88 06                	mov    %al,(%esi)
40620e:	8a c1                	mov    %cl,%al
406210:	8a 0e                	mov    (%esi),%cl
406212:	46                   	inc    %esi
406213:	84 c9                	test   %cl,%cl
406215:	75 f3                	jne    0x40620a
406217:	5e                   	pop    %esi
406218:	38 4d fc             	cmp    %cl,-0x4(%ebp)
40621b:	74 07                	je     0x406224
40621d:	8b 45 f8             	mov    -0x8(%ebp),%eax
406220:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
406224:	c9                   	leave
406225:	c3                   	ret
406226:	8b ff                	mov    %edi,%edi
406228:	55                   	push   %ebp
406229:	8b ec                	mov    %esp,%ebp
40622b:	83 ec 10             	sub    $0x10,%esp
40622e:	56                   	push   %esi
40622f:	ff 75 0c             	push   0xc(%ebp)
406232:	8d 4d f0             	lea    -0x10(%ebp),%ecx
406235:	e8 94 e3 ff ff       	call   0x4045ce
40623a:	8b 45 08             	mov    0x8(%ebp),%eax
40623d:	8a 08                	mov    (%eax),%cl
40623f:	8b 75 f0             	mov    -0x10(%ebp),%esi
406242:	84 c9                	test   %cl,%cl
406244:	74 15                	je     0x40625b
406246:	8b 96 bc 00 00 00    	mov    0xbc(%esi),%edx
40624c:	8b 12                	mov    (%edx),%edx
40624e:	8a 12                	mov    (%edx),%dl
406250:	3a ca                	cmp    %dl,%cl
406252:	74 07                	je     0x40625b
406254:	40                   	inc    %eax
406255:	8a 08                	mov    (%eax),%cl
406257:	84 c9                	test   %cl,%cl
406259:	75 f5                	jne    0x406250
40625b:	8a 08                	mov    (%eax),%cl
40625d:	40                   	inc    %eax
40625e:	84 c9                	test   %cl,%cl
406260:	74 36                	je     0x406298
406262:	eb 0b                	jmp    0x40626f
406264:	80 f9 65             	cmp    $0x65,%cl
406267:	74 0c                	je     0x406275
406269:	80 f9 45             	cmp    $0x45,%cl
40626c:	74 07                	je     0x406275
40626e:	40                   	inc    %eax
40626f:	8a 08                	mov    (%eax),%cl
406271:	84 c9                	test   %cl,%cl
406273:	75 ef                	jne    0x406264
406275:	8b d0                	mov    %eax,%edx
406277:	48                   	dec    %eax
406278:	80 38 30             	cmpb   $0x30,(%eax)
40627b:	74 fa                	je     0x406277
40627d:	8b 8e bc 00 00 00    	mov    0xbc(%esi),%ecx
406283:	8b 09                	mov    (%ecx),%ecx
406285:	53                   	push   %ebx
406286:	8a 18                	mov    (%eax),%bl
406288:	3a 19                	cmp    (%ecx),%bl
40628a:	5b                   	pop    %ebx
40628b:	75 01                	jne    0x40628e
40628d:	48                   	dec    %eax
40628e:	8a 0a                	mov    (%edx),%cl
406290:	40                   	inc    %eax
406291:	42                   	inc    %edx
406292:	88 08                	mov    %cl,(%eax)
406294:	84 c9                	test   %cl,%cl
406296:	75 f6                	jne    0x40628e
406298:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
40629c:	5e                   	pop    %esi
40629d:	74 07                	je     0x4062a6
40629f:	8b 45 f8             	mov    -0x8(%ebp),%eax
4062a2:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
4062a6:	c9                   	leave
4062a7:	c3                   	ret
4062a8:	8b ff                	mov    %edi,%edi
4062aa:	55                   	push   %ebp
4062ab:	8b ec                	mov    %esp,%ebp
4062ad:	d9 ee                	fldz
4062af:	8b 45 08             	mov    0x8(%ebp),%eax
4062b2:	dc 18                	fcompl (%eax)
4062b4:	df e0                	fnstsw %ax
4062b6:	f6 c4 41             	test   $0x41,%ah
4062b9:	7a 05                	jp     0x4062c0
4062bb:	33 c0                	xor    %eax,%eax
4062bd:	40                   	inc    %eax
4062be:	5d                   	pop    %ebp
4062bf:	c3                   	ret
4062c0:	33 c0                	xor    %eax,%eax
4062c2:	5d                   	pop    %ebp
4062c3:	c3                   	ret
4062c4:	8b ff                	mov    %edi,%edi
4062c6:	55                   	push   %ebp
4062c7:	8b ec                	mov    %esp,%ebp
4062c9:	51                   	push   %ecx
4062ca:	51                   	push   %ecx
4062cb:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
4062cf:	ff 75 14             	push   0x14(%ebp)
4062d2:	ff 75 10             	push   0x10(%ebp)
4062d5:	74 19                	je     0x4062f0
4062d7:	8d 45 f8             	lea    -0x8(%ebp),%eax
4062da:	50                   	push   %eax
4062db:	e8 5e 22 00 00       	call   0x40853e
4062e0:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4062e3:	8b 45 0c             	mov    0xc(%ebp),%eax
4062e6:	89 08                	mov    %ecx,(%eax)
4062e8:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4062eb:	89 48 04             	mov    %ecx,0x4(%eax)
4062ee:	eb 11                	jmp    0x406301
4062f0:	8d 45 08             	lea    0x8(%ebp),%eax
4062f3:	50                   	push   %eax
4062f4:	e8 ed 22 00 00       	call   0x4085e6
4062f9:	8b 45 0c             	mov    0xc(%ebp),%eax
4062fc:	8b 4d 08             	mov    0x8(%ebp),%ecx
4062ff:	89 08                	mov    %ecx,(%eax)
406301:	83 c4 0c             	add    $0xc,%esp
406304:	c9                   	leave
406305:	c3                   	ret
406306:	8b ff                	mov    %edi,%edi
406308:	55                   	push   %ebp
406309:	8b ec                	mov    %esp,%ebp
40630b:	6a 00                	push   $0x0
40630d:	ff 75 10             	push   0x10(%ebp)
406310:	ff 75 0c             	push   0xc(%ebp)
406313:	ff 75 08             	push   0x8(%ebp)
406316:	e8 a9 ff ff ff       	call   0x4062c4
40631b:	83 c4 10             	add    $0x10,%esp
40631e:	5d                   	pop    %ebp
40631f:	c3                   	ret
406320:	8b ff                	mov    %edi,%edi
406322:	56                   	push   %esi
406323:	8b f0                	mov    %eax,%esi
406325:	85 ff                	test   %edi,%edi
406327:	74 14                	je     0x40633d
406329:	56                   	push   %esi
40632a:	e8 61 e1 ff ff       	call   0x404490
40632f:	40                   	inc    %eax
406330:	50                   	push   %eax
406331:	56                   	push   %esi
406332:	03 f7                	add    %edi,%esi
406334:	56                   	push   %esi
406335:	e8 f6 1b 00 00       	call   0x407f30
40633a:	83 c4 10             	add    $0x10,%esp
40633d:	5e                   	pop    %esi
40633e:	c3                   	ret
40633f:	8b ff                	mov    %edi,%edi
406341:	55                   	push   %ebp
406342:	8b ec                	mov    %esp,%ebp
406344:	6a 00                	push   $0x0
406346:	ff 75 08             	push   0x8(%ebp)
406349:	e8 65 fe ff ff       	call   0x4061b3
40634e:	59                   	pop    %ecx
40634f:	59                   	pop    %ecx
406350:	5d                   	pop    %ebp
406351:	c3                   	ret
406352:	8b ff                	mov    %edi,%edi
406354:	55                   	push   %ebp
406355:	8b ec                	mov    %esp,%ebp
406357:	6a 00                	push   $0x0
406359:	ff 75 08             	push   0x8(%ebp)
40635c:	e8 c5 fe ff ff       	call   0x406226
406361:	59                   	pop    %ecx
406362:	59                   	pop    %ecx
406363:	5d                   	pop    %ebp
406364:	c3                   	ret
406365:	8b ff                	mov    %edi,%edi
406367:	55                   	push   %ebp
406368:	8b ec                	mov    %esp,%ebp
40636a:	83 ec 10             	sub    $0x10,%esp
40636d:	53                   	push   %ebx
40636e:	56                   	push   %esi
40636f:	57                   	push   %edi
406370:	ff 75 1c             	push   0x1c(%ebp)
406373:	8d 4d f0             	lea    -0x10(%ebp),%ecx
406376:	8b d8                	mov    %eax,%ebx
406378:	e8 51 e2 ff ff       	call   0x4045ce
40637d:	33 f6                	xor    %esi,%esi
40637f:	3b de                	cmp    %esi,%ebx
406381:	75 2b                	jne    0x4063ae
406383:	e8 c4 ca ff ff       	call   0x402e4c
406388:	6a 16                	push   $0x16
40638a:	5f                   	pop    %edi
40638b:	56                   	push   %esi
40638c:	56                   	push   %esi
40638d:	56                   	push   %esi
40638e:	56                   	push   %esi
40638f:	56                   	push   %esi
406390:	89 38                	mov    %edi,(%eax)
406392:	e8 aa d8 ff ff       	call   0x403c41
406397:	83 c4 14             	add    $0x14,%esp
40639a:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
40639e:	74 07                	je     0x4063a7
4063a0:	8b 45 f8             	mov    -0x8(%ebp),%eax
4063a3:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
4063a7:	8b c7                	mov    %edi,%eax
4063a9:	e9 21 01 00 00       	jmp    0x4064cf
4063ae:	39 75 08             	cmp    %esi,0x8(%ebp)
4063b1:	76 d0                	jbe    0x406383
4063b3:	39 75 0c             	cmp    %esi,0xc(%ebp)
4063b6:	7e 05                	jle    0x4063bd
4063b8:	8b 45 0c             	mov    0xc(%ebp),%eax
4063bb:	eb 02                	jmp    0x4063bf
4063bd:	33 c0                	xor    %eax,%eax
4063bf:	83 c0 09             	add    $0x9,%eax
4063c2:	39 45 08             	cmp    %eax,0x8(%ebp)
4063c5:	77 09                	ja     0x4063d0
4063c7:	e8 80 ca ff ff       	call   0x402e4c
4063cc:	6a 22                	push   $0x22
4063ce:	eb ba                	jmp    0x40638a
4063d0:	80 7d 18 00          	cmpb   $0x0,0x18(%ebp)
4063d4:	74 1e                	je     0x4063f4
4063d6:	8b 55 14             	mov    0x14(%ebp),%edx
4063d9:	33 c0                	xor    %eax,%eax
4063db:	39 75 0c             	cmp    %esi,0xc(%ebp)
4063de:	0f 9f c0             	setg   %al
4063e1:	33 c9                	xor    %ecx,%ecx
4063e3:	83 3a 2d             	cmpl   $0x2d,(%edx)
4063e6:	0f 94 c1             	sete   %cl
4063e9:	8b f8                	mov    %eax,%edi
4063eb:	03 cb                	add    %ebx,%ecx