45e3c7:	50                   	push   %eax
45e3c8:	e8 d4 ab ff ff       	call   0x458fa1
45e3cd:	83 c4 10             	add    $0x10,%esp
45e3d0:	8d 46 0c             	lea    0xc(%esi),%eax
45e3d3:	50                   	push   %eax
45e3d4:	8d 4e 18             	lea    0x18(%esi),%ecx
45e3d7:	51                   	push   %ecx
45e3d8:	57                   	push   %edi
45e3d9:	8d 45 fc             	lea    -0x4(%ebp),%eax
45e3dc:	50                   	push   %eax
45e3dd:	8d 8e 48 04 00 00    	lea    0x448(%esi),%ecx
45e3e3:	e8 08 73 00 00       	call   0x4656f0
45e3e8:	8b 4e 20             	mov    0x20(%esi),%ecx
45e3eb:	8d 7e 18             	lea    0x18(%esi),%edi
45e3ee:	8b c1                	mov    %ecx,%eax
45e3f0:	c1 e8 03             	shr    $0x3,%eax
45e3f3:	a8 01                	test   $0x1,%al
45e3f5:	74 1b                	je     0x45e412
45e3f7:	c1 e9 02             	shr    $0x2,%ecx
45e3fa:	f6 c1 01             	test   $0x1,%cl
45e3fd:	75 13                	jne    0x45e412
45e3ff:	57                   	push   %edi
45e400:	53                   	push   %ebx
45e401:	8d 86 48 04 00 00    	lea    0x448(%esi),%eax
45e407:	6a 30                	push   $0x30
45e409:	50                   	push   %eax
45e40a:	e8 92 ab ff ff       	call   0x458fa1
45e40f:	83 c4 10             	add    $0x10,%esp
45e412:	6a 00                	push   $0x0
45e414:	8b ce                	mov    %esi,%ecx
45e416:	e8 e9 6c 00 00       	call   0x465104
45e41b:	83 3f 00             	cmpl   $0x0,(%edi)
45e41e:	7c 1d                	jl     0x45e43d
45e420:	8b 46 20             	mov    0x20(%esi),%eax
45e423:	c1 e8 02             	shr    $0x2,%eax
45e426:	a8 01                	test   $0x1,%al
45e428:	74 13                	je     0x45e43d
45e42a:	57                   	push   %edi
45e42b:	53                   	push   %ebx
45e42c:	8d 86 48 04 00 00    	lea    0x448(%esi),%eax
45e432:	6a 20                	push   $0x20
45e434:	50                   	push   %eax
45e435:	e8 67 ab ff ff       	call   0x458fa1
45e43a:	83 c4 10             	add    $0x10,%esp
45e43d:	b0 01                	mov    $0x1,%al
45e43f:	5f                   	pop    %edi
45e440:	5e                   	pop    %esi
45e441:	5b                   	pop    %ebx
45e442:	8b e5                	mov    %ebp,%esp
45e444:	5d                   	pop    %ebp
45e445:	c3                   	ret
45e446:	8b ff                	mov    %edi,%edi
45e448:	55                   	push   %ebp
45e449:	8b ec                	mov    %esp,%ebp
45e44b:	51                   	push   %ecx
45e44c:	53                   	push   %ebx
45e44d:	56                   	push   %esi
45e44e:	8b f1                	mov    %ecx,%esi
45e450:	33 db                	xor    %ebx,%ebx
45e452:	43                   	inc    %ebx
45e453:	33 c9                	xor    %ecx,%ecx
45e455:	0f be 46 31          	movsbl 0x31(%esi),%eax
45e459:	83 f8 64             	cmp    $0x64,%eax
45e45c:	7f 6c                	jg     0x45e4ca
45e45e:	0f 84 93 00 00 00    	je     0x45e4f7
45e464:	83 f8 58             	cmp    $0x58,%eax
45e467:	7f 3e                	jg     0x45e4a7
45e469:	74 37                	je     0x45e4a2
45e46b:	83 f8 41             	cmp    $0x41,%eax
45e46e:	0f 84 93 00 00 00    	je     0x45e507
45e474:	83 f8 43             	cmp    $0x43,%eax
45e477:	74 3e                	je     0x45e4b7
45e479:	83 f8 44             	cmp    $0x44,%eax
45e47c:	7e 1d                	jle    0x45e49b
45e47e:	83 f8 47             	cmp    $0x47,%eax
45e481:	0f 8e 80 00 00 00    	jle    0x45e507
45e487:	83 f8 53             	cmp    $0x53,%eax
45e48a:	75 0f                	jne    0x45e49b
45e48c:	8b ce                	mov    %esi,%ecx
45e48e:	e8 9e 51 00 00       	call   0x463631
45e493:	84 c0                	test   %al,%al
45e495:	0f 85 9f 00 00 00    	jne    0x45e53a
45e49b:	32 c0                	xor    %al,%al
45e49d:	e9 ce 01 00 00       	jmp    0x45e670
45e4a2:	53                   	push   %ebx
45e4a3:	6a 10                	push   $0x10
45e4a5:	eb 57                	jmp    0x45e4fe
45e4a7:	83 e8 5a             	sub    $0x5a,%eax
45e4aa:	74 15                	je     0x45e4c1
45e4ac:	83 e8 07             	sub    $0x7,%eax
45e4af:	74 56                	je     0x45e507
45e4b1:	48                   	dec    %eax
45e4b2:	83 e8 01             	sub    $0x1,%eax
45e4b5:	75 e4                	jne    0x45e49b
45e4b7:	51                   	push   %ecx
45e4b8:	8b ce                	mov    %esi,%ecx
45e4ba:	e8 a2 30 00 00       	call   0x461561
45e4bf:	eb d2                	jmp    0x45e493
45e4c1:	8b ce                	mov    %esi,%ecx
45e4c3:	e8 46 19 00 00       	call   0x45fe0e
45e4c8:	eb c9                	jmp    0x45e493
45e4ca:	83 f8 70             	cmp    $0x70,%eax
45e4cd:	7f 4d                	jg     0x45e51c
45e4cf:	74 3f                	je     0x45e510
45e4d1:	83 f8 67             	cmp    $0x67,%eax
45e4d4:	7e 31                	jle    0x45e507
45e4d6:	83 f8 69             	cmp    $0x69,%eax
45e4d9:	74 1c                	je     0x45e4f7
45e4db:	83 f8 6e             	cmp    $0x6e,%eax
45e4de:	74 0e                	je     0x45e4ee
45e4e0:	83 f8 6f             	cmp    $0x6f,%eax
45e4e3:	75 b6                	jne    0x45e49b
45e4e5:	8b ce                	mov    %esi,%ecx
45e4e7:	e8 ac 4d 00 00       	call   0x463298
45e4ec:	eb a5                	jmp    0x45e493
45e4ee:	8b ce                	mov    %esi,%ecx
45e4f0:	e8 c3 48 00 00       	call   0x462db8
45e4f5:	eb 9c                	jmp    0x45e493
45e4f7:	83 4e 20 10          	orl    $0x10,0x20(%esi)
45e4fb:	51                   	push   %ecx
45e4fc:	6a 0a                	push   $0xa
45e4fe:	8b ce                	mov    %esi,%ecx
45e500:	e8 c0 3a 00 00       	call   0x461fc5
45e505:	eb 8c                	jmp    0x45e493
45e507:	8b ce                	mov    %esi,%ecx
45e509:	e8 fc 20 00 00       	call   0x46060a
45e50e:	eb 83                	jmp    0x45e493
45e510:	8b ce                	mov    %esi,%ecx
45e512:	e8 e0 4e 00 00       	call   0x4633f7
45e517:	e9 77 ff ff ff       	jmp    0x45e493
45e51c:	83 e8 73             	sub    $0x73,%eax
45e51f:	0f 84 67 ff ff ff    	je     0x45e48c
45e525:	48                   	dec    %eax
45e526:	83 e8 01             	sub    $0x1,%eax
45e529:	74 d0                	je     0x45e4fb
45e52b:	83 e8 03             	sub    $0x3,%eax
45e52e:	0f 85 67 ff ff ff    	jne    0x45e49b
45e534:	51                   	push   %ecx
45e535:	e9 69 ff ff ff       	jmp    0x45e4a3
45e53a:	80 7e 30 00          	cmpb   $0x0,0x30(%esi)
45e53e:	74 07                	je     0x45e547
45e540:	8a c3                	mov    %bl,%al
45e542:	e9 29 01 00 00       	jmp    0x45e670
45e547:	8b 56 20             	mov    0x20(%esi),%edx
45e54a:	33 c0                	xor    %eax,%eax
45e54c:	57                   	push   %edi
45e54d:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
45e551:	8b f8                	mov    %eax,%edi
45e553:	88 45 fe             	mov    %al,-0x2(%ebp)
45e556:	8b c2                	mov    %edx,%eax
45e558:	c1 e8 04             	shr    $0x4,%eax
45e55b:	84 c3                	test   %al,%bl
45e55d:	74 27                	je     0x45e586
45e55f:	8b c2                	mov    %edx,%eax
45e561:	c1 e8 06             	shr    $0x6,%eax
45e564:	84 c3                	test   %al,%bl
45e566:	74 06                	je     0x45e56e
45e568:	c6 45 fc 2d          	movb   $0x2d,-0x4(%ebp)
45e56c:	eb 16                	jmp    0x45e584
45e56e:	84 d3                	test   %dl,%bl
45e570:	74 06                	je     0x45e578
45e572:	c6 45 fc 2b          	movb   $0x2b,-0x4(%ebp)
45e576:	eb 0c                	jmp    0x45e584
45e578:	8b c2                	mov    %edx,%eax
45e57a:	d1 e8                	shr    $1,%eax
45e57c:	84 c3                	test   %al,%bl
45e57e:	74 06                	je     0x45e586
45e580:	c6 45 fc 20          	movb   $0x20,-0x4(%ebp)
45e584:	8b fb                	mov    %ebx,%edi
45e586:	8a 4e 31             	mov    0x31(%esi),%cl
45e589:	80 f9 78             	cmp    $0x78,%cl
45e58c:	74 05                	je     0x45e593
45e58e:	80 f9 58             	cmp    $0x58,%cl
45e591:	75 09                	jne    0x45e59c
45e593:	8b c2                	mov    %edx,%eax
45e595:	c1 e8 05             	shr    $0x5,%eax
45e598:	84 c3                	test   %al,%bl
45e59a:	75 02                	jne    0x45e59e
45e59c:	32 db                	xor    %bl,%bl
45e59e:	80 f9 61             	cmp    $0x61,%cl
45e5a1:	74 09                	je     0x45e5ac
45e5a3:	80 f9 41             	cmp    $0x41,%cl
45e5a6:	74 04                	je     0x45e5ac
45e5a8:	32 c0                	xor    %al,%al
45e5aa:	eb 02                	jmp    0x45e5ae
45e5ac:	b0 01                	mov    $0x1,%al
45e5ae:	84 db                	test   %bl,%bl
45e5b0:	75 04                	jne    0x45e5b6
45e5b2:	84 c0                	test   %al,%al
45e5b4:	74 27                	je     0x45e5dd
45e5b6:	c6 44 3d fc 30       	movb   $0x30,-0x4(%ebp,%edi,1)
45e5bb:	80 f9 58             	cmp    $0x58,%cl
45e5be:	74 09                	je     0x45e5c9
45e5c0:	80 f9 41             	cmp    $0x41,%cl
45e5c3:	74 04                	je     0x45e5c9
45e5c5:	32 c0                	xor    %al,%al
45e5c7:	eb 02                	jmp    0x45e5cb
45e5c9:	b0 01                	mov    $0x1,%al
45e5cb:	84 c0                	test   %al,%al
45e5cd:	0f 94 c0             	sete   %al
45e5d0:	fe c8                	dec    %al
45e5d2:	24 e0                	and    $0xe0,%al
45e5d4:	04 78                	add    $0x78,%al
45e5d6:	88 44 3d fd          	mov    %al,-0x3(%ebp,%edi,1)
45e5da:	83 c7 02             	add    $0x2,%edi
45e5dd:	8b 5e 24             	mov    0x24(%esi),%ebx
45e5e0:	2b 5e 38             	sub    0x38(%esi),%ebx
45e5e3:	2b df                	sub    %edi,%ebx
45e5e5:	f6 c2 0c             	test   $0xc,%dl
45e5e8:	75 16                	jne    0x45e600
45e5ea:	8d 46 18             	lea    0x18(%esi),%eax
45e5ed:	50                   	push   %eax
45e5ee:	53                   	push   %ebx
45e5ef:	8d 86 48 04 00 00    	lea    0x448(%esi),%eax
45e5f5:	6a 20                	push   $0x20
45e5f7:	50                   	push   %eax
45e5f8:	e8 01 aa ff ff       	call   0x458ffe
45e5fd:	83 c4 10             	add    $0x10,%esp
45e600:	8d 46 0c             	lea    0xc(%esi),%eax
45e603:	50                   	push   %eax
45e604:	8d 4e 18             	lea    0x18(%esi),%ecx
45e607:	51                   	push   %ecx
45e608:	57                   	push   %edi
45e609:	8d 45 fc             	lea    -0x4(%ebp),%eax
45e60c:	50                   	push   %eax
45e60d:	8d 8e 48 04 00 00    	lea    0x448(%esi),%ecx
45e613:	e8 47 72 00 00       	call   0x46585f
45e618:	8b 4e 20             	mov    0x20(%esi),%ecx
45e61b:	8d 7e 18             	lea    0x18(%esi),%edi
45e61e:	8b c1                	mov    %ecx,%eax
45e620:	c1 e8 03             	shr    $0x3,%eax
45e623:	a8 01                	test   $0x1,%al
45e625:	74 1b                	je     0x45e642
45e627:	c1 e9 02             	shr    $0x2,%ecx
45e62a:	f6 c1 01             	test   $0x1,%cl
45e62d:	75 13                	jne    0x45e642
45e62f:	57                   	push   %edi
45e630:	53                   	push   %ebx
45e631:	8d 86 48 04 00 00    	lea    0x448(%esi),%eax
45e637:	6a 30                	push   $0x30
45e639:	50                   	push   %eax
45e63a:	e8 bf a9 ff ff       	call   0x458ffe
45e63f:	83 c4 10             	add    $0x10,%esp
45e642:	6a 00                	push   $0x0
45e644:	8b ce                	mov    %esi,%ecx
45e646:	e8 62 6b 00 00       	call   0x4651ad
45e64b:	83 3f 00             	cmpl   $0x0,(%edi)
45e64e:	7c 1d                	jl     0x45e66d
45e650:	8b 46 20             	mov    0x20(%esi),%eax
45e653:	c1 e8 02             	shr    $0x2,%eax
45e656:	a8 01                	test   $0x1,%al
45e658:	74 13                	je     0x45e66d
45e65a:	57                   	push   %edi
45e65b:	53                   	push   %ebx
45e65c:	8d 86 48 04 00 00    	lea    0x448(%esi),%eax
45e662:	6a 20                	push   $0x20
45e664:	50                   	push   %eax
45e665:	e8 94 a9 ff ff       	call   0x458ffe
45e66a:	83 c4 10             	add    $0x10,%esp
45e66d:	b0 01                	mov    $0x1,%al
45e66f:	5f                   	pop    %edi
45e670:	5e                   	pop    %esi
45e671:	5b                   	pop    %ebx
45e672:	8b e5                	mov    %ebp,%esp
45e674:	5d                   	pop    %ebp
45e675:	c3                   	ret
45e676:	8b ff                	mov    %edi,%edi
45e678:	55                   	push   %ebp
45e679:	8b ec                	mov    %esp,%ebp
45e67b:	51                   	push   %ecx
45e67c:	53                   	push   %ebx
45e67d:	56                   	push   %esi
45e67e:	8b f1                	mov    %ecx,%esi
45e680:	33 db                	xor    %ebx,%ebx
45e682:	43                   	inc    %ebx
45e683:	33 c9                	xor    %ecx,%ecx
45e685:	0f be 46 31          	movsbl 0x31(%esi),%eax
45e689:	83 f8 64             	cmp    $0x64,%eax
45e68c:	7f 6c                	jg     0x45e6fa
45e68e:	0f 84 93 00 00 00    	je     0x45e727
45e694:	83 f8 58             	cmp    $0x58,%eax
45e697:	7f 3e                	jg     0x45e6d7
45e699:	74 37                	je     0x45e6d2
45e69b:	83 f8 41             	cmp    $0x41,%eax
45e69e:	0f 84 93 00 00 00    	je     0x45e737
45e6a4:	83 f8 43             	cmp    $0x43,%eax
45e6a7:	74 3e                	je     0x45e6e7
45e6a9:	83 f8 44             	cmp    $0x44,%eax
45e6ac:	7e 1d                	jle    0x45e6cb
45e6ae:	83 f8 47             	cmp    $0x47,%eax
45e6b1:	0f 8e 80 00 00 00    	jle    0x45e737
45e6b7:	83 f8 53             	cmp    $0x53,%eax
45e6ba:	75 0f                	jne    0x45e6cb
45e6bc:	8b ce                	mov    %esi,%ecx
45e6be:	e8 e1 4f 00 00       	call   0x4636a4
45e6c3:	84 c0                	test   %al,%al
45e6c5:	0f 85 9f 00 00 00    	jne    0x45e76a
45e6cb:	32 c0                	xor    %al,%al
45e6cd:	e9 d9 01 00 00       	jmp    0x45e8ab
45e6d2:	53                   	push   %ebx
45e6d3:	6a 10                	push   $0x10
45e6d5:	eb 57                	jmp    0x45e72e
45e6d7:	83 e8 5a             	sub    $0x5a,%eax
45e6da:	74 15                	je     0x45e6f1
45e6dc:	83 e8 07             	sub    $0x7,%eax
45e6df:	74 56                	je     0x45e737
45e6e1:	48                   	dec    %eax
45e6e2:	83 e8 01             	sub    $0x1,%eax
45e6e5:	75 e4                	jne    0x45e6cb
45e6e7:	51                   	push   %ecx
45e6e8:	8b ce                	mov    %esi,%ecx
45e6ea:	e8 02 2f 00 00       	call   0x4615f1
45e6ef:	eb d2                	jmp    0x45e6c3
45e6f1:	8b ce                	mov    %esi,%ecx
45e6f3:	e8 79 17 00 00       	call   0x45fe71
45e6f8:	eb c9                	jmp    0x45e6c3
45e6fa:	83 f8 70             	cmp    $0x70,%eax
45e6fd:	7f 4d                	jg     0x45e74c
45e6ff:	74 3f                	je     0x45e740
45e701:	83 f8 67             	cmp    $0x67,%eax
45e704:	7e 31                	jle    0x45e737
45e706:	83 f8 69             	cmp    $0x69,%eax
45e709:	74 1c                	je     0x45e727
45e70b:	83 f8 6e             	cmp    $0x6e,%eax
45e70e:	74 0e                	je     0x45e71e
45e710:	83 f8 6f             	cmp    $0x6f,%eax
45e713:	75 b6                	jne    0x45e6cb
45e715:	8b ce                	mov    %esi,%ecx
45e717:	e8 9b 4b 00 00       	call   0x4632b7
45e71c:	eb a5                	jmp    0x45e6c3
45e71e:	8b ce                	mov    %esi,%ecx
45e720:	e8 07 47 00 00       	call   0x462e2c
45e725:	eb 9c                	jmp    0x45e6c3
45e727:	83 4e 20 10          	orl    $0x10,0x20(%esi)
45e72b:	51                   	push   %ecx
45e72c:	6a 0a                	push   $0xa
45e72e:	8b ce                	mov    %esi,%ecx
45e730:	e8 de 39 00 00       	call   0x462113
45e735:	eb 8c                	jmp    0x45e6c3
45e737:	8b ce                	mov    %esi,%ecx
45e739:	e8 26 20 00 00       	call   0x460764
45e73e:	eb 83                	jmp    0x45e6c3
45e740:	8b ce                	mov    %esi,%ecx
45e742:	e8 c8 4c 00 00       	call   0x46340f
45e747:	e9 77 ff ff ff       	jmp    0x45e6c3
45e74c:	83 e8 73             	sub    $0x73,%eax
45e74f:	0f 84 67 ff ff ff    	je     0x45e6bc
45e755:	48                   	dec    %eax
45e756:	83 e8 01             	sub    $0x1,%eax
45e759:	74 d0                	je     0x45e72b