40621e:	0f b6 06             	movzbl (%esi),%eax
406221:	50                   	push   %eax
406222:	eb 4e                	jmp    0x406272
406224:	66 83 f8 02          	cmp    $0x2,%ax
406228:	74 06                	je     0x406230
40622a:	66 83 f8 0b          	cmp    $0xb,%ax
40622e:	75 06                	jne    0x406236
406230:	0f b7 06             	movzwl (%esi),%eax
406233:	50                   	push   %eax
406234:	eb 3c                	jmp    0x406272
406236:	66 83 f8 03          	cmp    $0x3,%ax
40623a:	74 18                	je     0x406254
40623c:	66 83 f8 0d          	cmp    $0xd,%ax
406240:	74 12                	je     0x406254
406242:	66 83 f8 09          	cmp    $0x9,%ax
406246:	74 0c                	je     0x406254
406248:	66 83 f8 08          	cmp    $0x8,%ax
40624c:	74 06                	je     0x406254
40624e:	66 83 f8 04          	cmp    $0x4,%ax
406252:	75 04                	jne    0x406258
406254:	ff 36                	push   (%esi)
406256:	eb 1a                	jmp    0x406272
406258:	66 83 f8 05          	cmp    $0x5,%ax
40625c:	74 06                	je     0x406264
40625e:	66 83 f8 06          	cmp    $0x6,%ax
406262:	75 07                	jne    0x40626b
406264:	ff 36                	push   (%esi)
406266:	ff 76 04             	push   0x4(%esi)
406269:	eb 07                	jmp    0x406272
40626b:	b8 57 00 07 80       	mov    $0x80070057,%eax
406270:	eb 0b                	jmp    0x40627d
406272:	83 e9 10             	sub    $0x10,%ecx
406275:	8d 77 f0             	lea    -0x10(%edi),%esi
406278:	eb 85                	jmp    0x4061ff
40627a:	ff 55 08             	call   *0x8(%ebp)
40627d:	5b                   	pop    %ebx
40627e:	5f                   	pop    %edi
40627f:	5e                   	pop    %esi
406280:	c9                   	leave
406281:	c2 08 00             	ret    $0x8
406284:	55                   	push   %ebp
406285:	89 e5                	mov    %esp,%ebp
406287:	83 3d 08 10 46 00 00 	cmpl   $0x0,0x461008
40628e:	75 66                	jne    0x4062f6
406290:	83 3d 00 10 46 00 00 	cmpl   $0x0,0x461000
406297:	75 15                	jne    0x4062ae
406299:	68 a4 5b 40 00       	push   $0x405ba4
40629e:	e8 c0 00 00 00       	call   0x406363
4062a3:	85 c0                	test   %eax,%eax
4062a5:	75 02                	jne    0x4062a9
4062a7:	eb 57                	jmp    0x406300
4062a9:	a3 00 10 46 00       	mov    %eax,0x461000
4062ae:	83 3d 08 10 46 00 00 	cmpl   $0x0,0x461008
4062b5:	75 1b                	jne    0x4062d2
4062b7:	68 3f 5b 40 00       	push   $0x405b3f
4062bc:	ff 35 00 10 46 00    	push   0x461000
4062c2:	e8 3d 00 00 00       	call   0x406304
4062c7:	85 c0                	test   %eax,%eax
4062c9:	75 02                	jne    0x4062cd
4062cb:	eb 33                	jmp    0x406300
4062cd:	a3 08 10 46 00       	mov    %eax,0x461008
4062d2:	83 3d 04 10 46 00 00 	cmpl   $0x0,0x461004
4062d9:	75 1b                	jne    0x4062f6
4062db:	68 95 5b 40 00       	push   $0x405b95
4062e0:	ff 35 00 10 46 00    	push   0x461000
4062e6:	e8 19 00 00 00       	call   0x406304
4062eb:	85 c0                	test   %eax,%eax
4062ed:	75 02                	jne    0x4062f1
4062ef:	eb 0f                	jmp    0x406300
4062f1:	a3 04 10 46 00       	mov    %eax,0x461004
4062f6:	a1 08 10 46 00       	mov    0x461008,%eax
4062fb:	ff 75 08             	push   0x8(%ebp)
4062fe:	ff d0                	call   *%eax
406300:	c9                   	leave
406301:	c2 04 00             	ret    $0x4
406304:	55                   	push   %ebp
406305:	89 e5                	mov    %esp,%ebp
406307:	56                   	push   %esi
406308:	57                   	push   %edi
406309:	53                   	push   %ebx
40630a:	8b 5d 08             	mov    0x8(%ebp),%ebx
40630d:	8b 43 3c             	mov    0x3c(%ebx),%eax
406310:	8b 44 18 78          	mov    0x78(%eax,%ebx,1),%eax
406314:	01 d8                	add    %ebx,%eax
406316:	8b 48 18             	mov    0x18(%eax),%ecx
406319:	8b 50 20             	mov    0x20(%eax),%edx
40631c:	8b 3c 1a             	mov    (%edx,%ebx,1),%edi
40631f:	85 ff                	test   %edi,%edi
406321:	74 32                	je     0x406355
406323:	01 df                	add    %ebx,%edi
406325:	96                   	xchg   %eax,%esi
406326:	51                   	push   %ecx
406327:	31 c0                	xor    %eax,%eax
406329:	8d 48 ff             	lea    -0x1(%eax),%ecx
40632c:	f2 ae                	repnz scas %es:(%edi),%al
40632e:	f7 d1                	not    %ecx
406330:	29 cf                	sub    %ecx,%edi
406332:	96                   	xchg   %eax,%esi
406333:	8b 75 0c             	mov    0xc(%ebp),%esi
406336:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
406338:	59                   	pop    %ecx
406339:	75 1a                	jne    0x406355
40633b:	2b 48 18             	sub    0x18(%eax),%ecx
40633e:	f7 d9                	neg    %ecx
406340:	8b 50 24             	mov    0x24(%eax),%edx
406343:	01 da                	add    %ebx,%edx
406345:	0f b7 14 4a          	movzwl (%edx,%ecx,2),%edx
406349:	8b 40 1c             	mov    0x1c(%eax),%eax
40634c:	01 d8                	add    %ebx,%eax
40634e:	8b 04 90             	mov    (%eax,%edx,4),%eax
406351:	01 d8                	add    %ebx,%eax
406353:	eb 07                	jmp    0x40635c
406355:	83 c2 04             	add    $0x4,%edx
406358:	e2 c2                	loop   0x40631c
40635a:	31 c0                	xor    %eax,%eax
40635c:	5b                   	pop    %ebx
40635d:	5f                   	pop    %edi
40635e:	5e                   	pop    %esi
40635f:	c9                   	leave
406360:	c2 08 00             	ret    $0x8
406363:	55                   	push   %ebp
406364:	56                   	push   %esi
406365:	57                   	push   %edi
406366:	64 a1 30 00 00 00    	mov    %fs:0x30,%eax
40636c:	83 7c 24 10 00       	cmpl   $0x0,0x10(%esp)
406371:	75 05                	jne    0x406378
406373:	8b 40 08             	mov    0x8(%eax),%eax
406376:	eb 5e                	jmp    0x4063d6
406378:	8b 40 0c             	mov    0xc(%eax),%eax
40637b:	8d 68 0c             	lea    0xc(%eax),%ebp
40637e:	8b 45 00             	mov    0x0(%ebp),%eax
406381:	8b 70 30             	mov    0x30(%eax),%esi
406384:	0f b7 48 2e          	movzwl 0x2e(%eax),%ecx
406388:	8b 7c 24 10          	mov    0x10(%esp),%edi
40638c:	66 8b 16             	mov    (%esi),%dx
40638f:	66 3b 17             	cmp    (%edi),%dx
406392:	74 27                	je     0x4063bb
406394:	66 83 fa 41          	cmp    $0x41,%dx
406398:	72 06                	jb     0x4063a0
40639a:	66 83 fa 5a          	cmp    $0x5a,%dx
40639e:	76 06                	jbe    0x4063a6
4063a0:	66 83 fa 61          	cmp    $0x61,%dx
4063a4:	72 0c                	jb     0x4063b2
4063a6:	66 83 fa 7a          	cmp    $0x7a,%dx
4063aa:	77 06                	ja     0x4063b2
4063ac:	66 83 f2 20          	xor    $0x20,%dx
4063b0:	eb 02                	jmp    0x4063b4
4063b2:	eb 1a                	jmp    0x4063ce
4063b4:	66 3b 17             	cmp    (%edi),%dx
4063b7:	74 02                	je     0x4063bb
4063b9:	eb 13                	jmp    0x4063ce
4063bb:	83 c7 02             	add    $0x2,%edi
4063be:	83 c6 02             	add    $0x2,%esi
4063c1:	83 e9 02             	sub    $0x2,%ecx
4063c4:	83 f9 00             	cmp    $0x0,%ecx
4063c7:	75 c3                	jne    0x40638c
4063c9:	8b 40 18             	mov    0x18(%eax),%eax
4063cc:	eb 08                	jmp    0x4063d6
4063ce:	8b 00                	mov    (%eax),%eax
4063d0:	39 c5                	cmp    %eax,%ebp
4063d2:	75 ad                	jne    0x406381
4063d4:	31 c0                	xor    %eax,%eax
4063d6:	5f                   	pop    %edi
4063d7:	5e                   	pop    %esi
4063d8:	5d                   	pop    %ebp
4063d9:	c2 04 00             	ret    $0x4
4063dc:	55                   	push   %ebp
4063dd:	89 e5                	mov    %esp,%ebp
4063df:	56                   	push   %esi
4063e0:	57                   	push   %edi
4063e1:	8b 75 08             	mov    0x8(%ebp),%esi
4063e4:	8b 7d 0c             	mov    0xc(%ebp),%edi
4063e7:	8b 4d 10             	mov    0x10(%ebp),%ecx
4063ea:	31 c0                	xor    %eax,%eax
4063ec:	83 f9 ff             	cmp    $0xffffffff,%ecx
4063ef:	75 07                	jne    0x4063f8
4063f1:	57                   	push   %edi
4063f2:	f2 66 af             	repnz scas %es:(%edi),%ax
4063f5:	f7 d1                	not    %ecx
4063f7:	49                   	dec    %ecx
4063f8:	85 c9                	test   %ecx,%ecx
4063fa:	74 40                	je     0x40643c
4063fc:	66 8b 16             	mov    (%esi),%dx
4063ff:	66 3b 17             	cmp    (%edi),%dx
406402:	74 2f                	je     0x406433
406404:	66 83 fa 41          	cmp    $0x41,%dx
406408:	72 06                	jb     0x406410
40640a:	66 83 fa 5a          	cmp    $0x5a,%dx
40640e:	76 06                	jbe    0x406416
406410:	66 83 fa 61          	cmp    $0x61,%dx
406414:	72 0c                	jb     0x406422
406416:	66 83 fa 7a          	cmp    $0x7a,%dx
40641a:	77 06                	ja     0x406422
40641c:	66 83 f2 20          	xor    $0x20,%dx
406420:	eb 06                	jmp    0x406428
406422:	19 c0                	sbb    %eax,%eax
406424:	0c 01                	or     $0x1,%al
406426:	eb 14                	jmp    0x40643c
406428:	66 3b 17             	cmp    (%edi),%dx
40642b:	74 06                	je     0x406433
40642d:	19 c0                	sbb    %eax,%eax
40642f:	0c 01                	or     $0x1,%al
406431:	eb 09                	jmp    0x40643c
406433:	83 c6 02             	add    $0x2,%esi
406436:	83 c7 02             	add    $0x2,%edi
406439:	49                   	dec    %ecx
40643a:	eb bc                	jmp    0x4063f8
40643c:	5f                   	pop    %edi
40643d:	5e                   	pop    %esi
40643e:	c9                   	leave
40643f:	c2 0c 00             	ret    $0xc
406442:	8b 44 24 04          	mov    0x4(%esp),%eax
406446:	8b 4c 24 08          	mov    0x8(%esp),%ecx
40644a:	8b 00                	mov    (%eax),%eax
40644c:	89 01                	mov    %eax,(%ecx)
40644e:	c2 08 00             	ret    $0x8
406451:	8b 44 24 04          	mov    0x4(%esp),%eax
406455:	85 c0                	test   %eax,%eax
406457:	74 03                	je     0x40645c
406459:	8b 40 10             	mov    0x10(%eax),%eax
40645c:	c2 04 00             	ret    $0x4
40645f:	56                   	push   %esi
406460:	57                   	push   %edi
406461:	8b 4c 24 14          	mov    0x14(%esp),%ecx
406465:	c1 e9 02             	shr    $0x2,%ecx
406468:	8b 7c 24 0c          	mov    0xc(%esp),%edi
40646c:	8b 74 24 10          	mov    0x10(%esp),%esi
406470:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
406472:	8b 4c 24 14          	mov    0x14(%esp),%ecx
406476:	83 e1 03             	and    $0x3,%ecx
406479:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
40647b:	5f                   	pop    %edi
40647c:	5e                   	pop    %esi
40647d:	c2 0c 00             	ret    $0xc
406488:	c0 00 00             	rolb   $0x0,(%eax)
40648b:	00 00                	add    %al,(%eax)
40648d:	00 00                	add    %al,(%eax)
40648f:	46                   	inc    %esi
406490:	30 3a                	xor    %bh,(%edx)
406492:	73 0c                	jae    0x4064a0
406494:	1c 2a                	sbb    $0x2a,%al
406496:	ce                   	into
406497:	11 ad e5 00 aa 00    	adc    %ebp,0xaa00e5(%ebp)
40649d:	44                   	inc    %esp
40649e:	77 3d                	ja     0x4064dd
4064a0:	0c 00                	or     $0x0,%al
4064a2:	00 00                	add    %al,(%eax)
4064a4:	00 00                	add    %al,(%eax)
4064a6:	00 00                	add    %al,(%eax)
4064a8:	c0 00 00             	rolb   $0x0,(%eax)
4064ab:	00 00                	add    %al,(%eax)
4064ad:	00 00                	add    %al,(%eax)
4064af:	46                   	inc    %esi
4064b0:	56                   	push   %esi
4064b1:	57                   	push   %edi
4064b2:	8b 7c 24 0c          	mov    0xc(%esp),%edi
4064b6:	8b 7c 24 10          	mov    0x10(%esp),%edi
4064ba:	b9 04 00 00 00       	mov    $0x4,%ecx
4064bf:	31 c0                	xor    %eax,%eax
4064c1:	f3 a7                	repz cmpsl %es:(%edi),%ds:(%esi)
4064c3:	0f 94 c0             	sete   %al
4064c6:	5f                   	pop    %edi
4064c7:	5e                   	pop    %esi
4064c8:	c2 08 00             	ret    $0x8
4064cb:	cc                   	int3
4064cc:	cc                   	int3
4064cd:	cc                   	int3
4064ce:	cc                   	int3
4064cf:	cc                   	int3
4064d0:	e9 e9 e9 e9 cc       	jmp    0xcd2a4ebe
4064d5:	cc                   	int3
4064d6:	cc                   	int3
4064d7:	cc                   	int3
4064d8:	cc                   	int3
4064d9:	cc                   	int3
4064da:	cc                   	int3
4064db:	cc                   	int3
4064dc:	cc                   	int3
4064dd:	cc                   	int3
4064de:	cc                   	int3
4064df:	cc                   	int3
4064e0:	55                   	push   %ebp
4064e1:	8b ec                	mov    %esp,%ebp
4064e3:	51                   	push   %ecx
4064e4:	51                   	push   %ecx
4064e5:	68 36 13 40 00       	push   $0x401336
4064ea:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4064f0:	50                   	push   %eax
4064f1:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
4064f8:	b8 84 00 00 00       	mov    $0x84,%eax
4064fd:	e8 2e ae ff ff       	call   0x401330
406502:	53                   	push   %ebx
406503:	56                   	push   %esi
406504:	57                   	push   %edi
406505:	89 65 f8             	mov    %esp,-0x8(%ebp)
406508:	c7 45 fc 68 11 40 00 	movl   $0x401168,-0x4(%ebp)
40650f:	6a 00                	push   $0x0
406511:	e8 4d fe ff ff       	call   0x406363
406516:	89 45 b8             	mov    %eax,-0x48(%ebp)
406519:	68 2c 38 40 00       	push   $0x40382c
40651e:	e8 7d 07 00 00       	call   0x406ca0
406523:	89 45 bc             	mov    %eax,-0x44(%ebp)
406526:	8d 45 bc             	lea    -0x44(%ebp),%eax
406529:	50                   	push   %eax
40652a:	8d 45 90             	lea    -0x70(%ebp),%eax
40652d:	50                   	push   %eax
40652e:	e8 dd af ff ff       	call   0x401510
406533:	8d 45 90             	lea    -0x70(%ebp),%eax
406536:	50                   	push   %eax
406537:	ff 75 b8             	push   -0x48(%ebp)
40653a:	e8 22 6b 00 00       	call   0x40d061
40653f:	89 45 d8             	mov    %eax,-0x28(%ebp)
406542:	8d 45 90             	lea    -0x70(%ebp),%eax
406545:	50                   	push   %eax
406546:	6a 00                	push   $0x0
406548:	e8 bd af ff ff       	call   0x40150a
40654d:	68 44 38 40 00       	push   $0x403844
406552:	e8 49 07 00 00       	call   0x406ca0
406557:	89 45 bc             	mov    %eax,-0x44(%ebp)
40655a:	8d 45 bc             	lea    -0x44(%ebp),%eax
40655d:	50                   	push   %eax
40655e:	8d 45 88             	lea    -0x78(%ebp),%eax
406561:	50                   	push   %eax
406562:	e8 a9 af ff ff       	call   0x401510
406567:	8d 45 88             	lea    -0x78(%ebp),%eax
40656a:	50                   	push   %eax
40656b:	ff 75 d8             	push   -0x28(%ebp)
40656e:	e8 2e 6c 00 00       	call   0x40d1a1
406573:	a3 00 11 46 00       	mov    %eax,0x461100
406578:	8d 45 88             	lea    -0x78(%ebp),%eax
40657b:	50                   	push   %eax
40657c:	6a 00                	push   $0x0
40657e:	e8 87 af ff ff       	call   0x40150a
406583:	68 68 38 40 00       	push   $0x403868
406588:	e8 13 07 00 00       	call   0x406ca0
40658d:	89 45 bc             	mov    %eax,-0x44(%ebp)
406590:	8d 45 bc             	lea    -0x44(%ebp),%eax
406593:	50                   	push   %eax
406594:	8d 45 80             	lea    -0x80(%ebp),%eax
406597:	50                   	push   %eax
406598:	e8 73 af ff ff       	call   0x401510
40659d:	8d 45 80             	lea    -0x80(%ebp),%eax
4065a0:	50                   	push   %eax
4065a1:	ff 75 d8             	push   -0x28(%ebp)
4065a4:	e8 b8 6a 00 00       	call   0x40d061
4065a9:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4065ac:	8d 45 80             	lea    -0x80(%ebp),%eax
4065af:	50                   	push   %eax
4065b0:	6a 00                	push   $0x0
4065b2:	e8 53 af ff ff       	call   0x40150a