4060d1:	ff 15 74 82 40 00    	call   *0x408274
4060d7:	83 c4 0c             	add    $0xc,%esp
4060da:	c2 08 00             	ret    $0x8
4060dd:	55                   	push   %ebp
4060de:	8b ec                	mov    %esp,%ebp
4060e0:	51                   	push   %ecx
4060e1:	8b 4d 08             	mov    0x8(%ebp),%ecx
4060e4:	53                   	push   %ebx
4060e5:	56                   	push   %esi
4060e6:	57                   	push   %edi
4060e7:	33 ff                	xor    %edi,%edi
4060e9:	80 39 2d             	cmpb   $0x2d,(%ecx)
4060ec:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
4060f3:	b0 0a                	mov    $0xa,%al
4060f5:	b3 39                	mov    $0x39,%bl
4060f7:	75 05                	jne    0x4060fe
4060f9:	41                   	inc    %ecx
4060fa:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4060fe:	80 39 30             	cmpb   $0x30,(%ecx)
406101:	75 1c                	jne    0x40611f
406103:	41                   	inc    %ecx
406104:	8a 11                	mov    (%ecx),%dl
406106:	80 fa 30             	cmp    $0x30,%dl
406109:	7c 09                	jl     0x406114
40610b:	80 fa 37             	cmp    $0x37,%dl
40610e:	7f 04                	jg     0x406114
406110:	b0 08                	mov    $0x8,%al
406112:	b3 37                	mov    $0x37,%bl
406114:	80 e2 df             	and    $0xdf,%dl
406117:	80 fa 58             	cmp    $0x58,%dl
40611a:	75 03                	jne    0x40611f
40611c:	b0 10                	mov    $0x10,%al
40611e:	41                   	inc    %ecx
40611f:	0f be 11             	movsbl (%ecx),%edx
406122:	41                   	inc    %ecx
406123:	83 fa 30             	cmp    $0x30,%edx
406126:	7c 0c                	jl     0x406134
406128:	0f be f3             	movsbl %bl,%esi
40612b:	3b d6                	cmp    %esi,%edx
40612d:	7f 05                	jg     0x406134
40612f:	83 ea 30             	sub    $0x30,%edx
406132:	eb 19                	jmp    0x40614d
406134:	3c 10                	cmp    $0x10,%al
406136:	75 21                	jne    0x406159
406138:	8b f2                	mov    %edx,%esi
40613a:	83 e6 df             	and    $0xffffffdf,%esi
40613d:	83 fe 41             	cmp    $0x41,%esi
406140:	7c 17                	jl     0x406159
406142:	83 fe 46             	cmp    $0x46,%esi
406145:	7f 12                	jg     0x406159
406147:	83 e2 07             	and    $0x7,%edx
40614a:	83 c2 09             	add    $0x9,%edx
40614d:	0f be f0             	movsbl %al,%esi
406150:	0f af f7             	imul   %edi,%esi
406153:	03 f2                	add    %edx,%esi
406155:	8b fe                	mov    %esi,%edi
406157:	eb c6                	jmp    0x40611f
406159:	8b 45 fc             	mov    -0x4(%ebp),%eax
40615c:	0f af c7             	imul   %edi,%eax
40615f:	5f                   	pop    %edi
406160:	5e                   	pop    %esi
406161:	5b                   	pop    %ebx
406162:	c9                   	leave
406163:	c2 04 00             	ret    $0x4
406166:	68 00 04 00 00       	push   $0x400
40616b:	ff 74 24 0c          	push   0xc(%esp)
40616f:	ff 74 24 0c          	push   0xc(%esp)
406173:	ff 15 ac 80 40 00    	call   *0x4080ac
406179:	c2 08 00             	ret    $0x8
40617c:	ff 25 a0 80 40 00    	jmp    *0x4080a0
406182:	ff 25 e0 80 40 00    	jmp    *0x4080e0
406188:	55                   	push   %ebp
406189:	8b ec                	mov    %esp,%ebp
40618b:	83 ec 18             	sub    $0x18,%esp
40618e:	8b 45 0c             	mov    0xc(%ebp),%eax
406191:	85 c0                	test   %eax,%eax
406193:	7d 11                	jge    0x4061a6
406195:	8b 0d fc eb 42 00    	mov    0x42ebfc,%ecx
40619b:	8d 04 85 04 00 00 00 	lea    0x4(,%eax,4),%eax
4061a2:	2b c8                	sub    %eax,%ecx
4061a4:	8b 01                	mov    (%ecx),%eax
4061a6:	8b 0d 78 f4 42 00    	mov    0x42f478,%ecx
4061ac:	53                   	push   %ebx
4061ad:	56                   	push   %esi
4061ae:	57                   	push   %edi
4061af:	8d 1c 08             	lea    (%eax,%ecx,1),%ebx
4061b2:	b8 c0 e3 42 00       	mov    $0x42e3c0,%eax
4061b7:	39 45 08             	cmp    %eax,0x8(%ebp)
4061ba:	8b f8                	mov    %eax,%edi
4061bc:	0f 82 eb 01 00 00    	jb     0x4063ad
4061c2:	8b 4d 08             	mov    0x8(%ebp),%ecx
4061c5:	2b c8                	sub    %eax,%ecx
4061c7:	81 f9 00 08 00 00    	cmp    $0x800,%ecx
4061cd:	0f 83 da 01 00 00    	jae    0x4063ad
4061d3:	8b 7d 08             	mov    0x8(%ebp),%edi
4061d6:	83 65 08 00          	andl   $0x0,0x8(%ebp)
4061da:	e9 ce 01 00 00       	jmp    0x4063ad
4061df:	8b cf                	mov    %edi,%ecx
4061e1:	2b c8                	sub    %eax,%ecx
4061e3:	81 f9 00 04 00 00    	cmp    $0x400,%ecx
4061e9:	0f 8d c8 01 00 00    	jge    0x4063b7
4061ef:	43                   	inc    %ebx
4061f0:	80 fa 04             	cmp    $0x4,%dl
4061f3:	89 5d 0c             	mov    %ebx,0xc(%ebp)
4061f6:	0f 83 a4 01 00 00    	jae    0x4063a0
4061fc:	0f be 43 01          	movsbl 0x1(%ebx),%eax
406200:	0f be 0b             	movsbl (%ebx),%ecx
406203:	8b f0                	mov    %eax,%esi
406205:	8b d9                	mov    %ecx,%ebx
406207:	83 e6 7f             	and    $0x7f,%esi
40620a:	83 e3 7f             	and    $0x7f,%ebx
40620d:	c1 e6 07             	shl    $0x7,%esi
406210:	0b f3                	or     %ebx,%esi
406212:	8b d9                	mov    %ecx,%ebx
406214:	80 cf 80             	or     $0x80,%bh
406217:	89 4d ec             	mov    %ecx,-0x14(%ebp)
40621a:	89 5d e8             	mov    %ebx,-0x18(%ebp)
40621d:	8b d8                	mov    %eax,%ebx
40621f:	80 cf 80             	or     $0x80,%bh
406222:	89 45 f4             	mov    %eax,-0xc(%ebp)
406225:	89 5d f0             	mov    %ebx,-0x10(%ebp)
406228:	8b 5d 0c             	mov    0xc(%ebp),%ebx
40622b:	43                   	inc    %ebx
40622c:	43                   	inc    %ebx
40622d:	80 fa 02             	cmp    $0x2,%dl
406230:	0f 85 17 01 00 00    	jne    0x40634d
406236:	a1 2c f4 42 00       	mov    0x42f42c,%eax
40623b:	6a 02                	push   $0x2
40623d:	85 c0                	test   %eax,%eax
40623f:	5e                   	pop    %esi
406240:	79 18                	jns    0x40625a
406242:	66 3d 04 5a          	cmp    $0x5a04,%ax
406246:	74 12                	je     0x40625a
406248:	83 7d f4 23          	cmpl   $0x23,-0xc(%ebp)
40624c:	74 0c                	je     0x40625a
40624e:	83 7d f4 2e          	cmpl   $0x2e,-0xc(%ebp)
406252:	74 06                	je     0x40625a
406254:	83 65 0c 00          	andl   $0x0,0xc(%ebp)
406258:	eb 07                	jmp    0x406261
40625a:	c7 45 0c 01 00 00 00 	movl   $0x1,0xc(%ebp)
406261:	83 3d c4 f4 42 00 00 	cmpl   $0x0,0x42f4c4
406268:	74 03                	je     0x40626d
40626a:	6a 04                	push   $0x4
40626c:	5e                   	pop    %esi
40626d:	84 c9                	test   %cl,%cl
40626f:	79 37                	jns    0x4062a8
406271:	8b c1                	mov    %ecx,%eax
406273:	83 e1 3f             	and    $0x3f,%ecx
406276:	03 0d 78 f4 42 00    	add    0x42f478,%ecx
40627c:	83 e0 40             	and    $0x40,%eax
40627f:	50                   	push   %eax
406280:	57                   	push   %edi
406281:	51                   	push   %ecx
406282:	68 a8 83 40 00       	push   $0x4083a8
406287:	68 02 00 00 80       	push   $0x80000002
40628c:	e8 bc fd ff ff       	call   0x40604d
406291:	80 3f 00             	cmpb   $0x0,(%edi)
406294:	0f 85 9a 00 00 00    	jne    0x406334
40629a:	ff 75 f4             	push   -0xc(%ebp)
40629d:	57                   	push   %edi
40629e:	e8 e5 fe ff ff       	call   0x406188
4062a3:	e9 87 00 00 00       	jmp    0x40632f
4062a8:	83 f9 25             	cmp    $0x25,%ecx
4062ab:	75 0e                	jne    0x4062bb
4062ad:	68 00 04 00 00       	push   $0x400
4062b2:	57                   	push   %edi
4062b3:	ff 15 e4 80 40 00    	call   *0x4080e4
4062b9:	eb 74                	jmp    0x40632f
4062bb:	83 f9 24             	cmp    $0x24,%ecx
4062be:	75 6b                	jne    0x40632b
4062c0:	68 00 04 00 00       	push   $0x400
4062c5:	57                   	push   %edi
4062c6:	ff 15 94 80 40 00    	call   *0x408094
4062cc:	33 f6                	xor    %esi,%esi
4062ce:	eb 5b                	jmp    0x40632b
4062d0:	a1 24 f4 42 00       	mov    0x42f424,%eax
4062d5:	33 c9                	xor    %ecx,%ecx
4062d7:	4e                   	dec    %esi
4062d8:	3b c1                	cmp    %ecx,%eax
4062da:	74 18                	je     0x4062f4
4062dc:	39 4d 0c             	cmp    %ecx,0xc(%ebp)
4062df:	74 13                	je     0x4062f4
4062e1:	57                   	push   %edi
4062e2:	51                   	push   %ecx
4062e3:	51                   	push   %ecx
4062e4:	ff 74 b5 e8          	push   -0x18(%ebp,%esi,4)
4062e8:	ff 35 28 f4 42 00    	push   0x42f428
4062ee:	ff d0                	call   *%eax
4062f0:	85 c0                	test   %eax,%eax
4062f2:	74 3b                	je     0x40632f
4062f4:	8d 45 fc             	lea    -0x4(%ebp),%eax
4062f7:	50                   	push   %eax
4062f8:	ff 74 b5 e8          	push   -0x18(%ebp,%esi,4)
4062fc:	ff 35 28 f4 42 00    	push   0x42f428
406302:	ff 15 68 81 40 00    	call   *0x408168
406308:	85 c0                	test   %eax,%eax
40630a:	75 1c                	jne    0x406328
40630c:	57                   	push   %edi
40630d:	ff 75 fc             	push   -0x4(%ebp)
406310:	ff 15 70 81 40 00    	call   *0x408170
406316:	ff 75 fc             	push   -0x4(%ebp)
406319:	89 45 f8             	mov    %eax,-0x8(%ebp)
40631c:	ff 15 88 82 40 00    	call   *0x408288
406322:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
406326:	75 07                	jne    0x40632f
406328:	80 27 00             	andb   $0x0,(%edi)
40632b:	85 f6                	test   %esi,%esi
40632d:	75 a1                	jne    0x4062d0
40632f:	80 3f 00             	cmpb   $0x0,(%edi)
406332:	74 11                	je     0x406345
406334:	83 7d f4 1a          	cmpl   $0x1a,-0xc(%ebp)
406338:	75 0b                	jne    0x406345
40633a:	68 d4 83 40 00       	push   $0x4083d4
40633f:	57                   	push   %edi
406340:	e8 3d fe ff ff       	call   0x406182
406345:	57                   	push   %edi
406346:	e8 85 00 00 00       	call   0x4063d0
40634b:	eb 44                	jmp    0x406391
40634d:	80 fa 03             	cmp    $0x3,%dl
406350:	75 2e                	jne    0x406380
406352:	83 fe 1d             	cmp    $0x1d,%esi
406355:	75 0e                	jne    0x406365
406357:	ff 35 28 f4 42 00    	push   0x42f428
40635d:	57                   	push   %edi
40635e:	e8 61 fd ff ff       	call   0x4060c4
406363:	eb 11                	jmp    0x406376
406365:	8b c6                	mov    %esi,%eax
406367:	c1 e0 0a             	shl    $0xa,%eax
40636a:	05 00 00 43 00       	add    $0x430000,%eax
40636f:	50                   	push   %eax
406370:	57                   	push   %edi
406371:	e8 f0 fd ff ff       	call   0x406166
406376:	83 c6 eb             	add    $0xffffffeb,%esi
406379:	83 fe 07             	cmp    $0x7,%esi
40637c:	73 13                	jae    0x406391
40637e:	eb c5                	jmp    0x406345
406380:	80 fa 01             	cmp    $0x1,%dl
406383:	75 0c                	jne    0x406391
406385:	83 c8 ff             	or     $0xffffffff,%eax
406388:	2b c6                	sub    %esi,%eax
40638a:	50                   	push   %eax
40638b:	57                   	push   %edi
40638c:	e8 f7 fd ff ff       	call   0x406188
406391:	57                   	push   %edi
406392:	e8 e5 fd ff ff       	call   0x40617c
406397:	03 f8                	add    %eax,%edi
406399:	b8 c0 e3 42 00       	mov    $0x42e3c0,%eax
40639e:	eb 0d                	jmp    0x4063ad
4063a0:	75 08                	jne    0x4063aa
4063a2:	8a 0b                	mov    (%ebx),%cl
4063a4:	88 0f                	mov    %cl,(%edi)
4063a6:	47                   	inc    %edi
4063a7:	43                   	inc    %ebx
4063a8:	eb 03                	jmp    0x4063ad
4063aa:	88 17                	mov    %dl,(%edi)
4063ac:	47                   	inc    %edi
4063ad:	8a 13                	mov    (%ebx),%dl
4063af:	84 d2                	test   %dl,%dl
4063b1:	0f 85 28 fe ff ff    	jne    0x4061df
4063b7:	80 27 00             	andb   $0x0,(%edi)
4063ba:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
4063be:	5f                   	pop    %edi
4063bf:	5e                   	pop    %esi
4063c0:	5b                   	pop    %ebx
4063c1:	74 09                	je     0x4063cc
4063c3:	50                   	push   %eax
4063c4:	ff 75 08             	push   0x8(%ebp)
4063c7:	e8 9a fd ff ff       	call   0x406166
4063cc:	c9                   	leave
4063cd:	c2 08 00             	ret    $0x8
4063d0:	53                   	push   %ebx
4063d1:	56                   	push   %esi
4063d2:	8b 74 24 0c          	mov    0xc(%esp),%esi
4063d6:	57                   	push   %edi
4063d7:	80 3e 5c             	cmpb   $0x5c,(%esi)
4063da:	75 15                	jne    0x4063f1
4063dc:	80 7e 01 5c          	cmpb   $0x5c,0x1(%esi)
4063e0:	75 0f                	jne    0x4063f1
4063e2:	80 7e 02 3f          	cmpb   $0x3f,0x2(%esi)
4063e6:	75 09                	jne    0x4063f1
4063e8:	80 7e 03 5c          	cmpb   $0x5c,0x3(%esi)
4063ec:	75 03                	jne    0x4063f1
4063ee:	83 c6 04             	add    $0x4,%esi
4063f1:	80 3e 00             	cmpb   $0x0,(%esi)
4063f4:	74 0c                	je     0x406402
4063f6:	56                   	push   %esi
4063f7:	e8 6f f7 ff ff       	call   0x405b6b
4063fc:	85 c0                	test   %eax,%eax
4063fe:	74 02                	je     0x406402
406400:	46                   	inc    %esi
406401:	46                   	inc    %esi
406402:	8a 06                	mov    (%esi),%al
406404:	8b de                	mov    %esi,%ebx
406406:	84 c0                	test   %al,%al
406408:	8b fe                	mov    %esi,%edi
40640a:	74 39                	je     0x406445
40640c:	55                   	push   %ebp
40640d:	8b 2d 2c 82 40 00    	mov    0x40822c,%ebp
406413:	3c 1f                	cmp    $0x1f,%al
406415:	76 22                	jbe    0x406439
406417:	50                   	push   %eax
406418:	68 e8 a3 40 00       	push   $0x40a3e8
40641d:	e8 07 f7 ff ff       	call   0x405b29
406422:	80 38 00             	cmpb   $0x0,(%eax)
406425:	75 12                	jne    0x406439
406427:	56                   	push   %esi
406428:	ff d5                	call   *%ebp
40642a:	2b c6                	sub    %esi,%eax
40642c:	50                   	push   %eax
40642d:	56                   	push   %esi
40642e:	57                   	push   %edi
40642f:	e8 86 f8 ff ff       	call   0x405cba
406434:	57                   	push   %edi
406435:	ff d5                	call   *%ebp
406437:	8b f8                	mov    %eax,%edi
406439:	56                   	push   %esi
40643a:	ff d5                	call   *%ebp
40643c:	8b f0                	mov    %eax,%esi
40643e:	8a 06                	mov    (%esi),%al
406440:	84 c0                	test   %al,%al
406442:	75 cf                	jne    0x406413
406444:	5d                   	pop    %ebp
406445:	80 27 00             	andb   $0x0,(%edi)
406448:	57                   	push   %edi
406449:	53                   	push   %ebx
40644a:	ff 15 e4 81 40 00    	call   *0x4081e4
406450:	8b f8                	mov    %eax,%edi
406452:	8a 07                	mov    (%edi),%al
406454:	3c 20                	cmp    $0x20,%al
406456:	74 04                	je     0x40645c
406458:	3c 5c                	cmp    $0x5c,%al
40645a:	75 07                	jne    0x406463
40645c:	80 27 00             	andb   $0x0,(%edi)
40645f:	3b df                	cmp    %edi,%ebx
406461:	72 e5                	jb     0x406448
406463:	5f                   	pop    %edi
406464:	5e                   	pop    %esi
406465:	5b                   	pop    %ebx
406466:	c2 04 00             	ret    $0x4
406469:	56                   	push   %esi
40646a:	be e8 c0 42 00       	mov    $0x42c0e8,%esi
40646f:	56                   	push   %esi
406470:	ff 74 24 0c          	push   0xc(%esp)
406474:	ff 15 2c 81 40 00    	call   *0x40812c
40647a:	83 f8 ff             	cmp    $0xffffffff,%eax
40647d:	74 0b                	je     0x40648a
40647f:	50                   	push   %eax
406480:	ff 15 34 81 40 00    	call   *0x408134
406486:	8b c6                	mov    %esi,%eax
406488:	eb 02                	jmp    0x40648c