412311:	e8 0c 00 00 00       	call   0x412322
412316:	8b 45 dc             	mov    -0x24(%ebp),%eax
412319:	8b 55 e0             	mov    -0x20(%ebp),%edx
41231c:	e8 00 81 ff ff       	call   0x40a421
412321:	c3                   	ret
412322:	ff 75 08             	push   0x8(%ebp)
412325:	e8 ae 2f 00 00       	call   0x4152d8
41232a:	59                   	pop    %ecx
41232b:	c3                   	ret
41232c:	8b ff                	mov    %edi,%edi
41232e:	55                   	push   %ebp
41232f:	8b ec                	mov    %esp,%ebp
412331:	b8 e4 1a 00 00       	mov    $0x1ae4,%eax
412336:	e8 f5 38 00 00       	call   0x415c30
41233b:	a1 68 b2 42 00       	mov    0x42b268,%eax
412340:	33 c5                	xor    %ebp,%eax
412342:	89 45 fc             	mov    %eax,-0x4(%ebp)
412345:	8b 45 0c             	mov    0xc(%ebp),%eax
412348:	56                   	push   %esi
412349:	33 f6                	xor    %esi,%esi
41234b:	89 85 34 e5 ff ff    	mov    %eax,-0x1acc(%ebp)
412351:	89 b5 38 e5 ff ff    	mov    %esi,-0x1ac8(%ebp)
412357:	89 b5 30 e5 ff ff    	mov    %esi,-0x1ad0(%ebp)
41235d:	39 75 10             	cmp    %esi,0x10(%ebp)
412360:	75 07                	jne    0x412369
412362:	33 c0                	xor    %eax,%eax
412364:	e9 e9 06 00 00       	jmp    0x412a52
412369:	3b c6                	cmp    %esi,%eax
41236b:	75 27                	jne    0x412394
41236d:	e8 76 37 ff ff       	call   0x405ae8
412372:	89 30                	mov    %esi,(%eax)
412374:	e8 5c 37 ff ff       	call   0x405ad5
412379:	56                   	push   %esi
41237a:	56                   	push   %esi
41237b:	56                   	push   %esi
41237c:	56                   	push   %esi
41237d:	56                   	push   %esi
41237e:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
412384:	e8 9c 2e ff ff       	call   0x405225
412389:	83 c4 14             	add    $0x14,%esp
41238c:	83 c8 ff             	or     $0xffffffff,%eax
41238f:	e9 be 06 00 00       	jmp    0x412a52
412394:	53                   	push   %ebx
412395:	57                   	push   %edi
412396:	8b 7d 08             	mov    0x8(%ebp),%edi
412399:	8b c7                	mov    %edi,%eax
41239b:	c1 f8 05             	sar    $0x5,%eax
41239e:	8d 34 85 60 12 c7 00 	lea    0xc71260(,%eax,4),%esi
4123a5:	8b 06                	mov    (%esi),%eax
4123a7:	83 e7 1f             	and    $0x1f,%edi
4123aa:	c1 e7 06             	shl    $0x6,%edi
4123ad:	03 c7                	add    %edi,%eax
4123af:	8a 58 24             	mov    0x24(%eax),%bl
4123b2:	02 db                	add    %bl,%bl
4123b4:	d0 fb                	sar    $1,%bl
4123b6:	89 b5 28 e5 ff ff    	mov    %esi,-0x1ad8(%ebp)
4123bc:	88 9d 27 e5 ff ff    	mov    %bl,-0x1ad9(%ebp)
4123c2:	80 fb 02             	cmp    $0x2,%bl
4123c5:	74 05                	je     0x4123cc
4123c7:	80 fb 01             	cmp    $0x1,%bl
4123ca:	75 30                	jne    0x4123fc
4123cc:	8b 4d 10             	mov    0x10(%ebp),%ecx
4123cf:	f7 d1                	not    %ecx
4123d1:	f6 c1 01             	test   $0x1,%cl
4123d4:	75 26                	jne    0x4123fc
4123d6:	e8 0d 37 ff ff       	call   0x405ae8
4123db:	33 f6                	xor    %esi,%esi
4123dd:	89 30                	mov    %esi,(%eax)
4123df:	e8 f1 36 ff ff       	call   0x405ad5
4123e4:	56                   	push   %esi
4123e5:	56                   	push   %esi
4123e6:	56                   	push   %esi
4123e7:	56                   	push   %esi
4123e8:	56                   	push   %esi
4123e9:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4123ef:	e8 31 2e ff ff       	call   0x405225
4123f4:	83 c4 14             	add    $0x14,%esp
4123f7:	e9 43 06 00 00       	jmp    0x412a3f
4123fc:	f6 40 04 20          	testb  $0x20,0x4(%eax)
412400:	74 11                	je     0x412413
412402:	6a 02                	push   $0x2
412404:	6a 00                	push   $0x0
412406:	6a 00                	push   $0x0
412408:	ff 75 08             	push   0x8(%ebp)
41240b:	e8 7e fd ff ff       	call   0x41218e
412410:	83 c4 10             	add    $0x10,%esp
412413:	ff 75 08             	push   0x8(%ebp)
412416:	e8 69 07 00 00       	call   0x412b84
41241b:	59                   	pop    %ecx
41241c:	85 c0                	test   %eax,%eax
41241e:	0f 84 9d 02 00 00    	je     0x4126c1
412424:	8b 06                	mov    (%esi),%eax
412426:	f6 44 07 04 80       	testb  $0x80,0x4(%edi,%eax,1)
41242b:	0f 84 90 02 00 00    	je     0x4126c1
412431:	e8 0b 86 ff ff       	call   0x40aa41
412436:	8b 40 6c             	mov    0x6c(%eax),%eax
412439:	33 c9                	xor    %ecx,%ecx
41243b:	39 48 14             	cmp    %ecx,0x14(%eax)
41243e:	8d 85 1c e5 ff ff    	lea    -0x1ae4(%ebp),%eax
412444:	0f 94 c1             	sete   %cl
412447:	50                   	push   %eax
412448:	8b 06                	mov    (%esi),%eax
41244a:	ff 34 07             	push   (%edi,%eax,1)
41244d:	89 8d 20 e5 ff ff    	mov    %ecx,-0x1ae0(%ebp)
412453:	ff 15 5c a1 41 00    	call   *0x41a15c
412459:	85 c0                	test   %eax,%eax
41245b:	0f 84 60 02 00 00    	je     0x4126c1
412461:	33 c9                	xor    %ecx,%ecx
412463:	39 8d 20 e5 ff ff    	cmp    %ecx,-0x1ae0(%ebp)
412469:	74 08                	je     0x412473
41246b:	84 db                	test   %bl,%bl
41246d:	0f 84 50 02 00 00    	je     0x4126c3
412473:	ff 15 24 a0 41 00    	call   *0x41a024
412479:	8b 9d 34 e5 ff ff    	mov    -0x1acc(%ebp),%ebx
41247f:	89 85 1c e5 ff ff    	mov    %eax,-0x1ae4(%ebp)
412485:	33 c0                	xor    %eax,%eax
412487:	89 85 3c e5 ff ff    	mov    %eax,-0x1ac4(%ebp)
41248d:	39 45 10             	cmp    %eax,0x10(%ebp)
412490:	0f 86 42 05 00 00    	jbe    0x4129d8
412496:	89 85 44 e5 ff ff    	mov    %eax,-0x1abc(%ebp)
41249c:	8a 85 27 e5 ff ff    	mov    -0x1ad9(%ebp),%al
4124a2:	84 c0                	test   %al,%al
4124a4:	0f 85 67 01 00 00    	jne    0x412611
4124aa:	8a 0b                	mov    (%ebx),%cl
4124ac:	8b b5 28 e5 ff ff    	mov    -0x1ad8(%ebp),%esi
4124b2:	33 c0                	xor    %eax,%eax
4124b4:	80 f9 0a             	cmp    $0xa,%cl
4124b7:	0f 94 c0             	sete   %al
4124ba:	89 85 20 e5 ff ff    	mov    %eax,-0x1ae0(%ebp)
4124c0:	8b 06                	mov    (%esi),%eax
4124c2:	03 c7                	add    %edi,%eax
4124c4:	83 78 38 00          	cmpl   $0x0,0x38(%eax)
4124c8:	74 15                	je     0x4124df
4124ca:	8a 50 34             	mov    0x34(%eax),%dl
4124cd:	88 55 f4             	mov    %dl,-0xc(%ebp)
4124d0:	88 4d f5             	mov    %cl,-0xb(%ebp)
4124d3:	83 60 38 00          	andl   $0x0,0x38(%eax)
4124d7:	6a 02                	push   $0x2
4124d9:	8d 45 f4             	lea    -0xc(%ebp),%eax
4124dc:	50                   	push   %eax
4124dd:	eb 4b                	jmp    0x41252a
4124df:	0f be c1             	movsbl %cl,%eax
4124e2:	50                   	push   %eax
4124e3:	e8 f8 08 00 00       	call   0x412de0
4124e8:	59                   	pop    %ecx
4124e9:	85 c0                	test   %eax,%eax
4124eb:	74 3a                	je     0x412527
4124ed:	8b 8d 34 e5 ff ff    	mov    -0x1acc(%ebp),%ecx
4124f3:	2b cb                	sub    %ebx,%ecx
4124f5:	03 4d 10             	add    0x10(%ebp),%ecx
4124f8:	33 c0                	xor    %eax,%eax
4124fa:	40                   	inc    %eax
4124fb:	3b c8                	cmp    %eax,%ecx
4124fd:	0f 86 a5 01 00 00    	jbe    0x4126a8
412503:	6a 02                	push   $0x2
412505:	8d 85 40 e5 ff ff    	lea    -0x1ac0(%ebp),%eax
41250b:	53                   	push   %ebx
41250c:	50                   	push   %eax
41250d:	e8 25 39 00 00       	call   0x415e37
412512:	83 c4 0c             	add    $0xc,%esp
412515:	83 f8 ff             	cmp    $0xffffffff,%eax
412518:	0f 84 b1 04 00 00    	je     0x4129cf
41251e:	43                   	inc    %ebx
41251f:	ff 85 44 e5 ff ff    	incl   -0x1abc(%ebp)
412525:	eb 1b                	jmp    0x412542
412527:	6a 01                	push   $0x1
412529:	53                   	push   %ebx
41252a:	8d 85 40 e5 ff ff    	lea    -0x1ac0(%ebp),%eax
412530:	50                   	push   %eax
412531:	e8 01 39 00 00       	call   0x415e37
412536:	83 c4 0c             	add    $0xc,%esp
412539:	83 f8 ff             	cmp    $0xffffffff,%eax
41253c:	0f 84 8d 04 00 00    	je     0x4129cf
412542:	33 c0                	xor    %eax,%eax
412544:	50                   	push   %eax
412545:	50                   	push   %eax
412546:	6a 05                	push   $0x5
412548:	8d 4d f4             	lea    -0xc(%ebp),%ecx
41254b:	51                   	push   %ecx
41254c:	6a 01                	push   $0x1
41254e:	8d 8d 40 e5 ff ff    	lea    -0x1ac0(%ebp),%ecx
412554:	51                   	push   %ecx
412555:	50                   	push   %eax
412556:	ff b5 1c e5 ff ff    	push   -0x1ae4(%ebp)
41255c:	43                   	inc    %ebx
41255d:	ff 85 44 e5 ff ff    	incl   -0x1abc(%ebp)
412563:	ff 15 70 a0 41 00    	call   *0x41a070
412569:	8b f0                	mov    %eax,%esi
41256b:	85 f6                	test   %esi,%esi
41256d:	0f 84 5c 04 00 00    	je     0x4129cf
412573:	6a 00                	push   $0x0
412575:	8d 85 3c e5 ff ff    	lea    -0x1ac4(%ebp),%eax
41257b:	50                   	push   %eax
41257c:	56                   	push   %esi
41257d:	8d 45 f4             	lea    -0xc(%ebp),%eax
412580:	50                   	push   %eax
412581:	8b 85 28 e5 ff ff    	mov    -0x1ad8(%ebp),%eax
412587:	8b 00                	mov    (%eax),%eax
412589:	ff 34 07             	push   (%edi,%eax,1)
41258c:	ff 15 1c a1 41 00    	call   *0x41a11c
412592:	85 c0                	test   %eax,%eax
412594:	0f 84 29 04 00 00    	je     0x4129c3
41259a:	8b 85 44 e5 ff ff    	mov    -0x1abc(%ebp),%eax
4125a0:	8b 8d 30 e5 ff ff    	mov    -0x1ad0(%ebp),%ecx
4125a6:	03 c1                	add    %ecx,%eax
4125a8:	39 b5 3c e5 ff ff    	cmp    %esi,-0x1ac4(%ebp)
4125ae:	89 85 38 e5 ff ff    	mov    %eax,-0x1ac8(%ebp)
4125b4:	0f 8c 15 04 00 00    	jl     0x4129cf
4125ba:	83 bd 20 e5 ff ff 00 	cmpl   $0x0,-0x1ae0(%ebp)
4125c1:	0f 84 cd 00 00 00    	je     0x412694
4125c7:	6a 00                	push   $0x0
4125c9:	8d 85 3c e5 ff ff    	lea    -0x1ac4(%ebp),%eax
4125cf:	50                   	push   %eax
4125d0:	6a 01                	push   $0x1
4125d2:	8d 45 f4             	lea    -0xc(%ebp),%eax
4125d5:	50                   	push   %eax
4125d6:	8b 85 28 e5 ff ff    	mov    -0x1ad8(%ebp),%eax
4125dc:	8b 00                	mov    (%eax),%eax
4125de:	c6 45 f4 0d          	movb   $0xd,-0xc(%ebp)
4125e2:	ff 34 07             	push   (%edi,%eax,1)
4125e5:	ff 15 1c a1 41 00    	call   *0x41a11c
4125eb:	85 c0                	test   %eax,%eax
4125ed:	0f 84 d0 03 00 00    	je     0x4129c3
4125f3:	83 bd 3c e5 ff ff 01 	cmpl   $0x1,-0x1ac4(%ebp)
4125fa:	0f 8c cf 03 00 00    	jl     0x4129cf
412600:	ff 85 30 e5 ff ff    	incl   -0x1ad0(%ebp)
412606:	ff 85 38 e5 ff ff    	incl   -0x1ac8(%ebp)
41260c:	e9 83 00 00 00       	jmp    0x412694
412611:	3c 01                	cmp    $0x1,%al
412613:	74 04                	je     0x412619
412615:	3c 02                	cmp    $0x2,%al
412617:	75 21                	jne    0x41263a
412619:	0f b7 33             	movzwl (%ebx),%esi
41261c:	33 c9                	xor    %ecx,%ecx
41261e:	66 83 fe 0a          	cmp    $0xa,%si
412622:	0f 94 c1             	sete   %cl
412625:	43                   	inc    %ebx
412626:	43                   	inc    %ebx
412627:	83 85 44 e5 ff ff 02 	addl   $0x2,-0x1abc(%ebp)
41262e:	89 b5 40 e5 ff ff    	mov    %esi,-0x1ac0(%ebp)
412634:	89 8d 20 e5 ff ff    	mov    %ecx,-0x1ae0(%ebp)
41263a:	3c 01                	cmp    $0x1,%al
41263c:	74 04                	je     0x412642
41263e:	3c 02                	cmp    $0x2,%al
412640:	75 52                	jne    0x412694
412642:	ff b5 40 e5 ff ff    	push   -0x1ac0(%ebp)
412648:	e8 0e 36 00 00       	call   0x415c5b
41264d:	59                   	pop    %ecx
41264e:	66 3b 85 40 e5 ff ff 	cmp    -0x1ac0(%ebp),%ax
412655:	0f 85 68 03 00 00    	jne    0x4129c3
41265b:	83 85 38 e5 ff ff 02 	addl   $0x2,-0x1ac8(%ebp)
412662:	83 bd 20 e5 ff ff 00 	cmpl   $0x0,-0x1ae0(%ebp)
412669:	74 29                	je     0x412694
41266b:	6a 0d                	push   $0xd
41266d:	58                   	pop    %eax
41266e:	50                   	push   %eax
41266f:	89 85 40 e5 ff ff    	mov    %eax,-0x1ac0(%ebp)
412675:	e8 e1 35 00 00       	call   0x415c5b
41267a:	59                   	pop    %ecx
41267b:	66 3b 85 40 e5 ff ff 	cmp    -0x1ac0(%ebp),%ax
412682:	0f 85 3b 03 00 00    	jne    0x4129c3
412688:	ff 85 38 e5 ff ff    	incl   -0x1ac8(%ebp)
41268e:	ff 85 30 e5 ff ff    	incl   -0x1ad0(%ebp)
412694:	8b 45 10             	mov    0x10(%ebp),%eax
412697:	39 85 44 e5 ff ff    	cmp    %eax,-0x1abc(%ebp)
41269d:	0f 82 f9 fd ff ff    	jb     0x41249c
4126a3:	e9 27 03 00 00       	jmp    0x4129cf
4126a8:	8b 0e                	mov    (%esi),%ecx
4126aa:	8a 13                	mov    (%ebx),%dl
4126ac:	ff 85 38 e5 ff ff    	incl   -0x1ac8(%ebp)
4126b2:	88 54 0f 34          	mov    %dl,0x34(%edi,%ecx,1)
4126b6:	8b 0e                	mov    (%esi),%ecx
4126b8:	89 44 0f 38          	mov    %eax,0x38(%edi,%ecx,1)
4126bc:	e9 0e 03 00 00       	jmp    0x4129cf
4126c1:	33 c9                	xor    %ecx,%ecx
4126c3:	8b 06                	mov    (%esi),%eax
4126c5:	03 c7                	add    %edi,%eax
4126c7:	f6 40 04 80          	testb  $0x80,0x4(%eax)
4126cb:	0f 84 bf 02 00 00    	je     0x412990
4126d1:	8b 85 34 e5 ff ff    	mov    -0x1acc(%ebp),%eax
4126d7:	89 8d 40 e5 ff ff    	mov    %ecx,-0x1ac0(%ebp)
4126dd:	84 db                	test   %bl,%bl
4126df:	0f 85 ca 00 00 00    	jne    0x4127af
4126e5:	89 85 3c e5 ff ff    	mov    %eax,-0x1ac4(%ebp)
4126eb:	39 4d 10             	cmp    %ecx,0x10(%ebp)
4126ee:	0f 86 20 03 00 00    	jbe    0x412a14
4126f4:	eb 06                	jmp    0x4126fc
4126f6:	8b b5 28 e5 ff ff    	mov    -0x1ad8(%ebp),%esi
4126fc:	8b 8d 3c e5 ff ff    	mov    -0x1ac4(%ebp),%ecx
412702:	83 a5 44 e5 ff ff 00 	andl   $0x0,-0x1abc(%ebp)
412709:	2b 8d 34 e5 ff ff    	sub    -0x1acc(%ebp),%ecx
41270f:	8d 85 48 e5 ff ff    	lea    -0x1ab8(%ebp),%eax
412715:	3b 4d 10             	cmp    0x10(%ebp),%ecx
412718:	73 39                	jae    0x412753
41271a:	8b 95 3c e5 ff ff    	mov    -0x1ac4(%ebp),%edx
412720:	ff 85 3c e5 ff ff    	incl   -0x1ac4(%ebp)
412726:	8a 12                	mov    (%edx),%dl
412728:	41                   	inc    %ecx
412729:	80 fa 0a             	cmp    $0xa,%dl
41272c:	75 10                	jne    0x41273e
41272e:	ff 85 30 e5 ff ff    	incl   -0x1ad0(%ebp)
412734:	c6 00 0d             	movb   $0xd,(%eax)
412737:	40                   	inc    %eax
412738:	ff 85 44 e5 ff ff    	incl   -0x1abc(%ebp)
41273e:	88 10                	mov    %dl,(%eax)
412740:	40                   	inc    %eax
412741:	ff 85 44 e5 ff ff    	incl   -0x1abc(%ebp)
412747:	81 bd 44 e5 ff ff ff 	cmpl   $0x13ff,-0x1abc(%ebp)
41274e:	13 00 00
412751:	72 c2                	jb     0x412715
412753:	8b d8                	mov    %eax,%ebx
412755:	8d 85 48 e5 ff ff    	lea    -0x1ab8(%ebp),%eax
41275b:	2b d8                	sub    %eax,%ebx
41275d:	6a 00                	push   $0x0
41275f:	8d 85 2c e5 ff ff    	lea    -0x1ad4(%ebp),%eax
412765:	50                   	push   %eax
412766:	53                   	push   %ebx
412767:	8d 85 48 e5 ff ff    	lea    -0x1ab8(%ebp),%eax
41276d:	50                   	push   %eax
41276e:	8b 06                	mov    (%esi),%eax
412770:	ff 34 07             	push   (%edi,%eax,1)
412773:	ff 15 1c a1 41 00    	call   *0x41a11c
412779:	85 c0                	test   %eax,%eax
41277b:	0f 84 42 02 00 00    	je     0x4129c3
412781:	8b 85 2c e5 ff ff    	mov    -0x1ad4(%ebp),%eax
412787:	01 85 38 e5 ff ff    	add    %eax,-0x1ac8(%ebp)
41278d:	3b c3                	cmp    %ebx,%eax
41278f:	0f 8c 3a 02 00 00    	jl     0x4129cf
412795:	8b 85 3c e5 ff ff    	mov    -0x1ac4(%ebp),%eax
41279b:	2b 85 34 e5 ff ff    	sub    -0x1acc(%ebp),%eax
4127a1:	3b 45 10             	cmp    0x10(%ebp),%eax
4127a4:	0f 82 4c ff ff ff    	jb     0x4126f6
4127aa:	e9 20 02 00 00       	jmp    0x4129cf
4127af:	89 85 44 e5 ff ff    	mov    %eax,-0x1abc(%ebp)
4127b5:	80 fb 02             	cmp    $0x2,%bl
4127b8:	0f 85 d1 00 00 00    	jne    0x41288f
4127be:	39 4d 10             	cmp    %ecx,0x10(%ebp)
4127c1:	0f 86 4d 02 00 00    	jbe    0x412a14
4127c7:	eb 06                	jmp    0x4127cf
4127c9:	8b b5 28 e5 ff ff    	mov    -0x1ad8(%ebp),%esi
4127cf:	8b 8d 44 e5 ff ff    	mov    -0x1abc(%ebp),%ecx
4127d5:	83 a5 3c e5 ff ff 00 	andl   $0x0,-0x1ac4(%ebp)
4127dc:	2b 8d 34 e5 ff ff    	sub    -0x1acc(%ebp),%ecx
4127e2:	8d 85 48 e5 ff ff    	lea    -0x1ab8(%ebp),%eax
4127e8:	3b 4d 10             	cmp    0x10(%ebp),%ecx
4127eb:	73 46                	jae    0x412833
4127ed:	8b 95 44 e5 ff ff    	mov    -0x1abc(%ebp),%edx
4127f3:	83 85 44 e5 ff ff 02 	addl   $0x2,-0x1abc(%ebp)
4127fa:	0f b7 12             	movzwl (%edx),%edx
4127fd:	41                   	inc    %ecx