417391:	39 45 88             	cmp    %eax,-0x78(%ebp)
417394:	8b c8                	mov    %eax,%ecx
417396:	8b 45 a0             	mov    -0x60(%ebp),%eax
417399:	0f 85 02 aa 03 00    	jne    0x451da1
41739f:	f7 c2 00 40 00 00    	test   $0x4000,%edx
4173a5:	0f 85 37 aa 03 00    	jne    0x451de2
4173ab:	8b 55 f8             	mov    -0x8(%ebp),%edx
4173ae:	6a 3f                	push   $0x3f
4173b0:	58                   	pop    %eax
4173b1:	3b f8                	cmp    %eax,%edi
4173b3:	0f 87 72 01 00 00    	ja     0x41752b
4173b9:	0f 84 3e 07 00 00    	je     0x417afd
4173bf:	8b c7                	mov    %edi,%eax
4173c1:	33 c9                	xor    %ecx,%ecx
4173c3:	2b c1                	sub    %ecx,%eax
4173c5:	0f 84 90 01 00 00    	je     0x41755b
4173cb:	83 e8 24             	sub    $0x24,%eax
4173ce:	0f 84 0f b5 03 00    	je     0x4528e3
4173d4:	83 e8 04             	sub    $0x4,%eax
4173d7:	0f 84 0e 05 00 00    	je     0x4178eb
4173dd:	48                   	dec    %eax
4173de:	0f 84 77 01 00 00    	je     0x41755b
4173e4:	48                   	dec    %eax
4173e5:	0f 84 6d 08 00 00    	je     0x417c58
4173eb:	48                   	dec    %eax
4173ec:	0f 84 6c 0e 00 00    	je     0x41825e
4173f2:	83 e8 03             	sub    $0x3,%eax
4173f5:	0f 84 ee 0b 00 00    	je     0x417fe9
4173fb:	83 7d c4 00          	cmpl   $0x0,-0x3c(%ebp)
4173ff:	8b 55 f4             	mov    -0xc(%ebp),%edx
417402:	8b da                	mov    %edx,%ebx
417404:	66 89 bd 08 ff ff ff 	mov    %di,-0xf8(%ebp)
41740b:	74 14                	je     0x417421
41740d:	8b c7                	mov    %edi,%eax
41740f:	b9 00 fc 00 00       	mov    $0xfc00,%ecx
417414:	23 c1                	and    %ecx,%eax
417416:	3d 00 d8 00 00       	cmp    $0xd800,%eax
41741b:	0f 84 b7 bf 03 00    	je     0x4533d8
417421:	6a 02                	push   $0x2
417423:	5e                   	pop    %esi
417424:	83 7d c4 00          	cmpl   $0x0,-0x3c(%ebp)
417428:	8b 45 f8             	mov    -0x8(%ebp),%eax
41742b:	89 45 f0             	mov    %eax,-0x10(%ebp)
41742e:	8b 45 cc             	mov    -0x34(%ebp),%eax
417431:	74 4e                	je     0x417481
417433:	84 c2                	test   %al,%dl
417435:	74 4a                	je     0x417481
417437:	0f b7 cf             	movzwl %di,%ecx
41743a:	ba 00 fc 00 00       	mov    $0xfc00,%edx
41743f:	8b c1                	mov    %ecx,%eax
417441:	23 c2                	and    %edx,%eax
417443:	ba 00 d8 00 00       	mov    $0xd800,%edx
417448:	3b c2                	cmp    %edx,%eax
41744a:	0f 84 ce cf 03 00    	je     0x45441e
417450:	8b c1                	mov    %ecx,%eax
417452:	b9 80 00 00 00       	mov    $0x80,%ecx
417457:	99                   	cltd
417458:	f7 f9                	idiv   %ecx
41745a:	0f b6 80 40 3b 4b 00 	movzbl 0x4b3b40(%eax),%eax
417461:	c1 e0 07             	shl    $0x7,%eax
417464:	03 c2                	add    %edx,%eax
417466:	0f b7 04 45 40 58 4a 	movzwl 0x4a5840(,%eax,2),%eax
41746d:	00
41746e:	0f b6 04 c5 53 2f 4a 	movzbl 0x4a2f53(,%eax,8),%eax
417475:	00
417476:	85 c0                	test   %eax,%eax
417478:	0f 85 f3 0a 00 00    	jne    0x417f71
41747e:	8b 45 cc             	mov    -0x34(%ebp),%eax
417481:	8b 4d f4             	mov    -0xc(%ebp),%ecx
417484:	84 c1                	test   %al,%cl
417486:	8b 7d f8             	mov    -0x8(%ebp),%edi
417489:	6a 00                	push   $0x0
41748b:	58                   	pop    %eax
41748c:	0f 95 c0             	setne  %al
41748f:	6a 1d                	push   $0x1d
417491:	59                   	pop    %ecx
417492:	03 c1                	add    %ecx,%eax
417494:	66 89 07             	mov    %ax,(%edi)
417497:	03 fe                	add    %esi,%edi
417499:	89 7d f8             	mov    %edi,-0x8(%ebp)
41749c:	85 db                	test   %ebx,%ebx
41749e:	74 1a                	je     0x4174ba
4174a0:	8b cb                	mov    %ebx,%ecx
4174a2:	8d b5 08 ff ff ff    	lea    -0xf8(%ebp),%esi
4174a8:	d1 e9                	shr    $1,%ecx
4174aa:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4174ac:	13 c9                	adc    %ecx,%ecx
4174ae:	66 f3 a5             	rep movsw %ds:(%esi),%es:(%edi)
4174b1:	8b 7d f8             	mov    -0x8(%ebp),%edi
4174b4:	8d 3c 5f             	lea    (%edi,%ebx,2),%edi
4174b7:	89 7d f8             	mov    %edi,-0x8(%ebp)
4174ba:	8b 45 e8             	mov    -0x18(%ebp),%eax
4174bd:	6a 0d                	push   $0xd
4174bf:	59                   	pop    %ecx
4174c0:	66 3b c1             	cmp    %cx,%ax
4174c3:	0f 84 81 cf 03 00    	je     0x45444a
4174c9:	6a 0a                	push   $0xa
4174cb:	59                   	pop    %ecx
4174cc:	66 3b c1             	cmp    %cx,%ax
4174cf:	0f 84 75 cf 03 00    	je     0x45444a
4174d5:	8b 4d 28             	mov    0x28(%ebp),%ecx
4174d8:	8b 55 d4             	mov    -0x2c(%ebp),%edx
4174db:	83 fa fe             	cmp    $0xfffffffe,%edx
4174de:	0f 84 59 03 00 00    	je     0x41783d
4174e4:	8b 45 9c             	mov    -0x64(%ebp),%eax
4174e7:	89 45 84             	mov    %eax,-0x7c(%ebp)
4174ea:	8b 45 a4             	mov    -0x5c(%ebp),%eax
4174ed:	89 45 d8             	mov    %eax,-0x28(%ebp)
4174f0:	8b 45 ac             	mov    -0x54(%ebp),%eax
4174f3:	89 55 94             	mov    %edx,-0x6c(%ebp)
4174f6:	89 45 a8             	mov    %eax,-0x58(%ebp)
4174f9:	3b 5d f4             	cmp    -0xc(%ebp),%ebx
4174fc:	0f 85 83 cf 03 00    	jne    0x454485
417502:	0f b7 47 fe          	movzwl -0x2(%edi),%eax
417506:	89 45 a4             	mov    %eax,-0x5c(%ebp)
417509:	8b 41 68             	mov    0x68(%ecx),%eax
41750c:	0b 85 74 ff ff ff    	or     -0x8c(%ebp),%eax
417512:	89 45 ac             	mov    %eax,-0x54(%ebp)
417515:	8b 5d f0             	mov    -0x10(%ebp),%ebx
417518:	8b 75 fc             	mov    -0x4(%ebp),%esi
41751b:	8b 55 f8             	mov    -0x8(%ebp),%edx
41751e:	6a 02                	push   $0x2
417520:	58                   	pop    %eax
417521:	03 f0                	add    %eax,%esi
417523:	89 75 fc             	mov    %esi,-0x4(%ebp)
417526:	e9 89 fd ff ff       	jmp    0x4172b4
41752b:	8b c7                	mov    %edi,%eax
41752d:	83 e8 5b             	sub    $0x5b,%eax
417530:	0f 84 b8 00 00 00    	je     0x4175ee
417536:	48                   	dec    %eax
417537:	0f 84 4b 03 00 00    	je     0x417888
41753d:	48                   	dec    %eax
41753e:	0f 84 76 be 03 00    	je     0x4533ba
417544:	48                   	dec    %eax
417545:	0f 84 48 be 03 00    	je     0x453393
41754b:	83 e8 1d             	sub    $0x1d,%eax
41754e:	0f 84 a3 b3 03 00    	je     0x4528f7
417554:	48                   	dec    %eax
417555:	0f 85 a0 fe ff ff    	jne    0x4173fb
41755b:	8b 45 10             	mov    0x10(%ebp),%eax
41755e:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
417561:	8b 5d 2c             	mov    0x2c(%ebp),%ebx
417564:	89 08                	mov    %ecx,(%eax)
417566:	8b 45 14             	mov    0x14(%ebp),%eax
417569:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
41756c:	89 08                	mov    %ecx,(%eax)
41756e:	8b 45 18             	mov    0x18(%ebp),%eax
417571:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
417574:	89 08                	mov    %ecx,(%eax)
417576:	8b 45 1c             	mov    0x1c(%ebp),%eax
417579:	8b 4d ac             	mov    -0x54(%ebp),%ecx
41757c:	89 08                	mov    %ecx,(%eax)
41757e:	8b 85 c0 fe ff ff    	mov    -0x140(%ebp),%eax
417584:	89 10                	mov    %edx,(%eax)
417586:	8b 45 08             	mov    0x8(%ebp),%eax
417589:	89 30                	mov    %esi,(%eax)
41758b:	85 db                	test   %ebx,%ebx
41758d:	74 1e                	je     0x4175ad
41758f:	2b 95 58 ff ff ff    	sub    -0xa8(%ebp),%edx
417595:	b9 eb ff ff 7f       	mov    $0x7fffffeb,%ecx
41759a:	8b 03                	mov    (%ebx),%eax
41759c:	2b c8                	sub    %eax,%ecx
41759e:	d1 fa                	sar    $1,%edx
4175a0:	3b ca                	cmp    %edx,%ecx
4175a2:	0f 8c 59 d0 03 00    	jl     0x454601
4175a8:	8d 0c 10             	lea    (%eax,%edx,1),%ecx
4175ab:	89 0b                	mov    %ecx,(%ebx)
4175ad:	8b 45 f4             	mov    -0xc(%ebp),%eax
4175b0:	5f                   	pop    %edi
4175b1:	5e                   	pop    %esi
4175b2:	5b                   	pop    %ebx
4175b3:	8b e5                	mov    %ebp,%esp
4175b5:	5d                   	pop    %ebp
4175b6:	c3                   	ret
4175b7:	8b 45 f8             	mov    -0x8(%ebp),%eax
4175ba:	2b c3                	sub    %ebx,%eax
4175bc:	83 e0 fe             	and    $0xfffffffe,%eax
4175bf:	50                   	push   %eax
4175c0:	53                   	push   %ebx
4175c1:	51                   	push   %ecx
4175c2:	e8 59 0a 01 00       	call   0x428020
4175c7:	2b 9d 50 ff ff ff    	sub    -0xb0(%ebp),%ebx
4175cd:	83 c4 0c             	add    $0xc,%esp
4175d0:	8b 55 f8             	mov    -0x8(%ebp),%edx
4175d3:	8b 75 fc             	mov    -0x4(%ebp),%esi
4175d6:	d1 fb                	sar    $1,%ebx
4175d8:	f7 db                	neg    %ebx
4175da:	8d 14 5a             	lea    (%edx,%ebx,2),%edx
4175dd:	8b 9d 50 ff ff ff    	mov    -0xb0(%ebp),%ebx
4175e3:	89 55 f8             	mov    %edx,-0x8(%ebp)
4175e6:	89 5d f0             	mov    %ebx,-0x10(%ebp)
4175e9:	e9 51 fd ff ff       	jmp    0x41733f
4175ee:	8d 7e 02             	lea    0x2(%esi),%edi
4175f1:	ba b8 fb 48 00       	mov    $0x48fbb8,%edx
4175f6:	6a 06                	push   $0x6
4175f8:	8b cf                	mov    %edi,%ecx
4175fa:	e8 96 0d 00 00       	call   0x418395
4175ff:	59                   	pop    %ecx
417600:	85 c0                	test   %eax,%eax
417602:	0f 84 29 c6 03 00    	je     0x453c31
417608:	6a 06                	push   $0x6
41760a:	ba b0 fb 48 00       	mov    $0x48fbb0,%edx
41760f:	8b cf                	mov    %edi,%ecx
417611:	e8 7f 0d 00 00       	call   0x418395
417616:	59                   	pop    %ecx
417617:	85 c0                	test   %eax,%eax
417619:	0f 84 1f c6 03 00    	je     0x453c3e
41761f:	8b 45 f8             	mov    -0x8(%ebp),%eax
417622:	6a 3a                	push   $0x3a
417624:	89 45 f0             	mov    %eax,-0x10(%ebp)
417627:	0f b7 07             	movzwl (%edi),%eax
41762a:	5b                   	pop    %ebx
41762b:	66 3b c3             	cmp    %bx,%ax
41762e:	0f 84 17 c6 03 00    	je     0x453c4b
417634:	6a 2e                	push   $0x2e
417636:	59                   	pop    %ecx
417637:	66 3b c1             	cmp    %cx,%ax
41763a:	0f 84 0b c6 03 00    	je     0x453c4b
417640:	6a 3d                	push   $0x3d
417642:	59                   	pop    %ecx
417643:	66 3b c1             	cmp    %cx,%ax
417646:	0f 84 ff c5 03 00    	je     0x453c4b
41764c:	33 c0                	xor    %eax,%eax
41764e:	6a 02                	push   $0x2
417650:	89 45 dc             	mov    %eax,-0x24(%ebp)
417653:	5f                   	pop    %edi
417654:	6a 5c                	push   $0x5c
417656:	59                   	pop    %ecx
417657:	6a 45                	push   $0x45
417659:	5a                   	pop    %edx
41765a:	03 f7                	add    %edi,%esi
41765c:	89 75 fc             	mov    %esi,-0x4(%ebp)
41765f:	0f b7 1e             	movzwl (%esi),%ebx
417662:	89 5d e8             	mov    %ebx,-0x18(%ebp)
417665:	3b d9                	cmp    %ecx,%ebx
417667:	0f 84 46 0b 00 00    	je     0x4181b3
41766d:	85 c0                	test   %eax,%eax
41766f:	75 09                	jne    0x41767a
417671:	83 fb 5e             	cmp    $0x5e,%ebx
417674:	0f 84 ff c5 03 00    	je     0x453c79
41767a:	6a 5d                	push   $0x5d
41767c:	59                   	pop    %ecx
41767d:	3b d9                	cmp    %ecx,%ebx
41767f:	0f 84 ff c5 03 00    	je     0x453c84
417685:	8b 7d f8             	mov    -0x8(%ebp),%edi
417688:	33 d2                	xor    %edx,%edx
41768a:	6a 20                	push   $0x20
41768c:	58                   	pop    %eax
41768d:	50                   	push   %eax
41768e:	83 c7 06             	add    $0x6,%edi
417691:	89 55 d8             	mov    %edx,-0x28(%ebp)
417694:	52                   	push   %edx
417695:	8d 85 2c ff ff ff    	lea    -0xd4(%ebp),%eax
41769b:	89 55 98             	mov    %edx,-0x68(%ebp)
41769e:	50                   	push   %eax
41769f:	89 7d e4             	mov    %edi,-0x1c(%ebp)
4176a2:	89 7d ec             	mov    %edi,-0x14(%ebp)
4176a5:	89 7d 80             	mov    %edi,-0x80(%ebp)
4176a8:	89 55 e0             	mov    %edx,-0x20(%ebp)
4176ab:	89 55 a8             	mov    %edx,-0x58(%ebp)
4176ae:	89 55 c8             	mov    %edx,-0x38(%ebp)
4176b1:	e8 6a b9 00 00       	call   0x423020
4176b6:	8b 75 fc             	mov    -0x4(%ebp),%esi
4176b9:	83 c4 0c             	add    $0xc,%esp
4176bc:	85 db                	test   %ebx,%ebx
4176be:	0f 84 65 cc 03 00    	je     0x454329
4176c4:	83 7d c4 00          	cmpl   $0x0,-0x3c(%ebp)
4176c8:	74 16                	je     0x4176e0
4176ca:	8b c3                	mov    %ebx,%eax
4176cc:	b9 00 fc 00 00       	mov    $0xfc00,%ecx
4176d1:	23 c1                	and    %ecx,%eax
4176d3:	ba 00 d8 00 00       	mov    $0xd800,%edx
4176d8:	3b c2                	cmp    %edx,%eax
4176da:	0f 84 e9 c5 03 00    	je     0x453cc9
4176e0:	8b 55 2c             	mov    0x2c(%ebp),%edx
4176e3:	85 d2                	test   %edx,%edx
4176e5:	74 0b                	je     0x4176f2
4176e7:	8b 4d 80             	mov    -0x80(%ebp),%ecx
4176ea:	3b f9                	cmp    %ecx,%edi
4176ec:	0f 87 0e c6 03 00    	ja     0x453d00
4176f2:	83 7d d0 00          	cmpl   $0x0,-0x30(%ebp)
4176f6:	0f 85 1d c6 03 00    	jne    0x453d19
4176fc:	83 fb 5b             	cmp    $0x5b,%ebx
4176ff:	0f 84 3b c6 03 00    	je     0x453d40
417705:	6a 5c                	push   $0x5c
417707:	58                   	pop    %eax
417708:	3b d8                	cmp    %eax,%ebx
41770a:	0f 84 cf 0a 00 00    	je     0x4181df
417710:	8b 55 0c             	mov    0xc(%ebp),%edx
417713:	33 c9                	xor    %ecx,%ecx
417715:	6a 5c                	push   $0x5c
417717:	5f                   	pop    %edi
417718:	66 39 7e 02          	cmp    %di,0x2(%esi)
41771c:	0f 84 ae 0b 00 00    	je     0x4182d0
417722:	6a 0d                	push   $0xd
417724:	58                   	pop    %eax
417725:	8b ce                	mov    %esi,%ecx
417727:	3b d8                	cmp    %eax,%ebx
417729:	0f 84 9c ca 03 00    	je     0x4541cb
41772f:	6a 0a                	push   $0xa
417731:	58                   	pop    %eax
417732:	3b d8                	cmp    %eax,%ebx
417734:	0f 84 91 ca 03 00    	je     0x4541cb
41773a:	8b 7d d0             	mov    -0x30(%ebp),%edi
41773d:	85 ff                	test   %edi,%edi
41773f:	75 0d                	jne    0x41774e
417741:	6a 2d                	push   $0x2d
417743:	58                   	pop    %eax
417744:	66 39 46 02          	cmp    %ax,0x2(%esi)
417748:	0f 84 7f 07 00 00    	je     0x417ecd
41774e:	8b 45 a8             	mov    -0x58(%ebp),%eax
417751:	6a 02                	push   $0x2
417753:	59                   	pop    %ecx
417754:	3b c1                	cmp    %ecx,%eax
417756:	0f 8c d8 00 00 00    	jl     0x417834
41775c:	83 7d d0 00          	cmpl   $0x0,-0x30(%ebp)
417760:	75 0b                	jne    0x41776d
417762:	8b 55 f4             	mov    -0xc(%ebp),%edx
417765:	3b c2                	cmp    %edx,%eax
417767:	0f 84 7e 03 00 00    	je     0x417aeb
41776d:	53                   	push   %ebx
41776e:	53                   	push   %ebx
41776f:	ff 75 28             	push   0x28(%ebp)
417772:	ff 75 cc             	push   -0x34(%ebp)
417775:	8d 55 ec             	lea    -0x14(%ebp),%edx
417778:	8d 8d 2c ff ff ff    	lea    -0xd4(%ebp),%ecx
41777e:	e8 82 0b 00 00       	call   0x418305
417783:	83 c4 10             	add    $0x10,%esp
417786:	01 45 e0             	add    %eax,-0x20(%ebp)
417789:	8b 7d ec             	mov    -0x14(%ebp),%edi
41778c:	8b 75 fc             	mov    -0x4(%ebp),%esi
41778f:	89 7d e4             	mov    %edi,-0x1c(%ebp)
417792:	8b 45 d0             	mov    -0x30(%ebp),%eax
417795:	8b 55 d8             	mov    -0x28(%ebp),%edx
417798:	6a 02                	push   $0x2
41779a:	5b                   	pop    %ebx
41779b:	03 f3                	add    %ebx,%esi
41779d:	89 75 fc             	mov    %esi,-0x4(%ebp)
4177a0:	0f b7 1e             	movzwl (%esi),%ebx
4177a3:	89 5d e8             	mov    %ebx,-0x18(%ebp)
4177a6:	85 db                	test   %ebx,%ebx
4177a8:	0f 84 57 cb 03 00    	je     0x454305
4177ae:	83 fb 5d             	cmp    $0x5d,%ebx
4177b1:	0f 85 0d ff ff ff    	jne    0x4176c4
4177b7:	85 c0                	test   %eax,%eax
4177b9:	0f 85 05 ff ff ff    	jne    0x4176c4
4177bf:	8b 75 80             	mov    -0x80(%ebp),%esi
4177c2:	8b 45 f4             	mov    -0xc(%ebp),%eax
4177c5:	3b fe                	cmp    %esi,%edi
4177c7:	77 03                	ja     0x4177cc