45f56c:	e8 65 ca ff ff       	call   0x45bfd6
45f571:	84 c0                	test   %al,%al
45f573:	0f 85 4a 01 00 00    	jne    0x45f6c3
45f579:	38 5e 30             	cmp    %bl,0x30(%esi)
45f57c:	0f 85 41 01 00 00    	jne    0x45f6c3
45f582:	8b 56 20             	mov    0x20(%esi),%edx
45f585:	33 c9                	xor    %ecx,%ecx
45f587:	57                   	push   %edi
45f588:	8b c2                	mov    %edx,%eax
45f58a:	89 5d f4             	mov    %ebx,-0xc(%ebp)
45f58d:	c1 e8 04             	shr    $0x4,%eax
45f590:	41                   	inc    %ecx
45f591:	66 89 5d f8          	mov    %bx,-0x8(%ebp)
45f595:	6a 20                	push   $0x20
45f597:	5f                   	pop    %edi
45f598:	84 c1                	test   %al,%cl
45f59a:	74 28                	je     0x45f5c4
45f59c:	8b c2                	mov    %edx,%eax
45f59e:	c1 e8 06             	shr    $0x6,%eax
45f5a1:	84 c1                	test   %al,%cl
45f5a3:	74 09                	je     0x45f5ae
45f5a5:	6a 2d                	push   $0x2d
45f5a7:	58                   	pop    %eax
45f5a8:	66 89 45 f4          	mov    %ax,-0xc(%ebp)
45f5ac:	eb 14                	jmp    0x45f5c2
45f5ae:	84 d1                	test   %dl,%cl
45f5b0:	74 04                	je     0x45f5b6
45f5b2:	6a 2b                	push   $0x2b
45f5b4:	eb f1                	jmp    0x45f5a7
45f5b6:	8b c2                	mov    %edx,%eax
45f5b8:	d1 e8                	shr    $1,%eax
45f5ba:	84 c1                	test   %al,%cl
45f5bc:	74 06                	je     0x45f5c4
45f5be:	66 89 7d f4          	mov    %di,-0xc(%ebp)
45f5c2:	8b d9                	mov    %ecx,%ebx
45f5c4:	0f b7 4e 32          	movzwl 0x32(%esi),%ecx
45f5c8:	83 f9 78             	cmp    $0x78,%ecx
45f5cb:	74 08                	je     0x45f5d5
45f5cd:	6a 58                	push   $0x58
45f5cf:	58                   	pop    %eax
45f5d0:	66 3b c8             	cmp    %ax,%cx
45f5d3:	75 0d                	jne    0x45f5e2
45f5d5:	8b c2                	mov    %edx,%eax
45f5d7:	c1 e8 05             	shr    $0x5,%eax
45f5da:	a8 01                	test   $0x1,%al
45f5dc:	74 04                	je     0x45f5e2
45f5de:	b4 01                	mov    $0x1,%ah
45f5e0:	eb 02                	jmp    0x45f5e4
45f5e2:	32 e4                	xor    %ah,%ah
45f5e4:	83 f9 61             	cmp    $0x61,%ecx
45f5e7:	74 0c                	je     0x45f5f5
45f5e9:	6a 41                	push   $0x41
45f5eb:	5f                   	pop    %edi
45f5ec:	66 3b cf             	cmp    %di,%cx
45f5ef:	74 04                	je     0x45f5f5
45f5f1:	32 c0                	xor    %al,%al
45f5f3:	eb 02                	jmp    0x45f5f7
45f5f5:	b0 01                	mov    $0x1,%al
45f5f7:	6a 30                	push   $0x30
45f5f9:	5f                   	pop    %edi
45f5fa:	84 e4                	test   %ah,%ah
45f5fc:	75 04                	jne    0x45f602
45f5fe:	84 c0                	test   %al,%al
45f600:	74 30                	je     0x45f632
45f602:	6a 58                	push   $0x58
45f604:	58                   	pop    %eax
45f605:	66 89 7c 5d f4       	mov    %di,-0xc(%ebp,%ebx,2)
45f60a:	66 3b c8             	cmp    %ax,%cx
45f60d:	74 0c                	je     0x45f61b
45f60f:	6a 41                	push   $0x41
45f611:	58                   	pop    %eax
45f612:	66 3b c8             	cmp    %ax,%cx
45f615:	74 04                	je     0x45f61b
45f617:	32 c0                	xor    %al,%al
45f619:	eb 02                	jmp    0x45f61d
45f61b:	b0 01                	mov    $0x1,%al
45f61d:	84 c0                	test   %al,%al
45f61f:	0f 94 c0             	sete   %al
45f622:	fe c8                	dec    %al
45f624:	24 e0                	and    $0xe0,%al
45f626:	04 78                	add    $0x78,%al
45f628:	66 98                	cbtw
45f62a:	66 89 44 5d f6       	mov    %ax,-0xa(%ebp,%ebx,2)
45f62f:	83 c3 02             	add    $0x2,%ebx
45f632:	8b 7e 24             	mov    0x24(%esi),%edi
45f635:	2b 7e 38             	sub    0x38(%esi),%edi
45f638:	2b fb                	sub    %ebx,%edi
45f63a:	f6 c2 0c             	test   $0xc,%dl
45f63d:	75 16                	jne    0x45f655
45f63f:	8d 46 18             	lea    0x18(%esi),%eax
45f642:	50                   	push   %eax
45f643:	57                   	push   %edi
45f644:	8d 86 48 04 00 00    	lea    0x448(%esi),%eax
45f64a:	6a 20                	push   $0x20
45f64c:	50                   	push   %eax
45f64d:	e8 d8 99 ff ff       	call   0x45902a
45f652:	83 c4 10             	add    $0x10,%esp
45f655:	8d 46 0c             	lea    0xc(%esi),%eax
45f658:	50                   	push   %eax
45f659:	8d 4e 18             	lea    0x18(%esi),%ecx
45f65c:	51                   	push   %ecx
45f65d:	53                   	push   %ebx
45f65e:	8d 45 f4             	lea    -0xc(%ebp),%eax
45f661:	50                   	push   %eax
45f662:	8d 8e 48 04 00 00    	lea    0x448(%esi),%ecx
45f668:	e8 59 62 00 00       	call   0x4658c6
45f66d:	8b 4e 20             	mov    0x20(%esi),%ecx
45f670:	8d 5e 18             	lea    0x18(%esi),%ebx
45f673:	8b c1                	mov    %ecx,%eax
45f675:	c1 e8 03             	shr    $0x3,%eax
45f678:	a8 01                	test   $0x1,%al
45f67a:	74 1b                	je     0x45f697
45f67c:	c1 e9 02             	shr    $0x2,%ecx
45f67f:	f6 c1 01             	test   $0x1,%cl
45f682:	75 13                	jne    0x45f697
45f684:	53                   	push   %ebx
45f685:	57                   	push   %edi
45f686:	8d 86 48 04 00 00    	lea    0x448(%esi),%eax
45f68c:	6a 30                	push   $0x30
45f68e:	50                   	push   %eax
45f68f:	e8 96 99 ff ff       	call   0x45902a
45f694:	83 c4 10             	add    $0x10,%esp
45f697:	6a 00                	push   $0x0
45f699:	8b ce                	mov    %esi,%ecx
45f69b:	e8 38 5f 00 00       	call   0x4655d8
45f6a0:	83 3b 00             	cmpl   $0x0,(%ebx)
45f6a3:	7c 1d                	jl     0x45f6c2
45f6a5:	8b 46 20             	mov    0x20(%esi),%eax
45f6a8:	c1 e8 02             	shr    $0x2,%eax
45f6ab:	a8 01                	test   $0x1,%al
45f6ad:	74 13                	je     0x45f6c2
45f6af:	53                   	push   %ebx
45f6b0:	57                   	push   %edi
45f6b1:	8d 86 48 04 00 00    	lea    0x448(%esi),%eax
45f6b7:	6a 20                	push   $0x20
45f6b9:	50                   	push   %eax
45f6ba:	e8 6b 99 ff ff       	call   0x45902a
45f6bf:	83 c4 10             	add    $0x10,%esp
45f6c2:	5f                   	pop    %edi
45f6c3:	b0 01                	mov    $0x1,%al
45f6c5:	8b 4d fc             	mov    -0x4(%ebp),%ecx
45f6c8:	5e                   	pop    %esi
45f6c9:	33 cd                	xor    %ebp,%ecx
45f6cb:	5b                   	pop    %ebx
45f6cc:	e8 31 03 fe ff       	call   0x43fa02
45f6d1:	8b e5                	mov    %ebp,%esp
45f6d3:	5d                   	pop    %ebp
45f6d4:	c3                   	ret
45f6d5:	8b ff                	mov    %edi,%edi
45f6d7:	55                   	push   %ebp
45f6d8:	8b ec                	mov    %esp,%ebp
45f6da:	83 ec 0c             	sub    $0xc,%esp
45f6dd:	a1 94 80 4b 00       	mov    0x4b8094,%eax
45f6e2:	33 c5                	xor    %ebp,%eax
45f6e4:	89 45 fc             	mov    %eax,-0x4(%ebp)
45f6e7:	53                   	push   %ebx
45f6e8:	56                   	push   %esi
45f6e9:	8b f1                	mov    %ecx,%esi
45f6eb:	33 db                	xor    %ebx,%ebx
45f6ed:	6a 41                	push   $0x41
45f6ef:	5a                   	pop    %edx
45f6f0:	6a 58                	push   $0x58
45f6f2:	0f b7 46 32          	movzwl 0x32(%esi),%eax
45f6f6:	59                   	pop    %ecx
45f6f7:	83 f8 64             	cmp    $0x64,%eax
45f6fa:	7f 6b                	jg     0x45f767
45f6fc:	0f 84 92 00 00 00    	je     0x45f794
45f702:	3b c1                	cmp    %ecx,%eax
45f704:	7f 3e                	jg     0x45f744
45f706:	74 36                	je     0x45f73e
45f708:	3b c2                	cmp    %edx,%eax
45f70a:	0f 84 94 00 00 00    	je     0x45f7a4
45f710:	83 f8 43             	cmp    $0x43,%eax
45f713:	74 3f                	je     0x45f754
45f715:	83 f8 44             	cmp    $0x44,%eax
45f718:	7e 1d                	jle    0x45f737
45f71a:	83 f8 47             	cmp    $0x47,%eax
45f71d:	0f 8e 81 00 00 00    	jle    0x45f7a4
45f723:	83 f8 53             	cmp    $0x53,%eax
45f726:	75 0f                	jne    0x45f737
45f728:	8b ce                	mov    %esi,%ecx
45f72a:	e8 bc 42 00 00       	call   0x4639eb
45f72f:	84 c0                	test   %al,%al
45f731:	0f 85 a0 00 00 00    	jne    0x45f7d7
45f737:	32 c0                	xor    %al,%al
45f739:	e9 e5 01 00 00       	jmp    0x45f923
45f73e:	6a 01                	push   $0x1
45f740:	6a 10                	push   $0x10
45f742:	eb 57                	jmp    0x45f79b
45f744:	83 e8 5a             	sub    $0x5a,%eax
45f747:	74 15                	je     0x45f75e
45f749:	83 e8 07             	sub    $0x7,%eax
45f74c:	74 56                	je     0x45f7a4
45f74e:	48                   	dec    %eax
45f74f:	83 e8 01             	sub    $0x1,%eax
45f752:	75 e3                	jne    0x45f737
45f754:	53                   	push   %ebx
45f755:	8b ce                	mov    %esi,%ecx
45f757:	e8 0b 23 00 00       	call   0x461a67
45f75c:	eb d1                	jmp    0x45f72f
45f75e:	8b ce                	mov    %esi,%ecx
45f760:	e8 15 0a 00 00       	call   0x46017a
45f765:	eb c8                	jmp    0x45f72f
45f767:	83 f8 70             	cmp    $0x70,%eax
45f76a:	7f 4d                	jg     0x45f7b9
45f76c:	74 3f                	je     0x45f7ad
45f76e:	83 f8 67             	cmp    $0x67,%eax
45f771:	7e 31                	jle    0x45f7a4
45f773:	83 f8 69             	cmp    $0x69,%eax
45f776:	74 1c                	je     0x45f794
45f778:	83 f8 6e             	cmp    $0x6e,%eax
45f77b:	74 0e                	je     0x45f78b
45f77d:	83 f8 6f             	cmp    $0x6f,%eax
45f780:	75 b5                	jne    0x45f737
45f782:	8b ce                	mov    %esi,%ecx
45f784:	e8 07 3c 00 00       	call   0x463390
45f789:	eb a4                	jmp    0x45f72f
45f78b:	8b ce                	mov    %esi,%ecx
45f78d:	e8 35 3a 00 00       	call   0x4631c7
45f792:	eb 9b                	jmp    0x45f72f
45f794:	83 4e 20 10          	orl    $0x10,0x20(%esi)
45f798:	53                   	push   %ebx
45f799:	6a 0a                	push   $0xa
45f79b:	8b ce                	mov    %esi,%ecx
45f79d:	e8 43 33 00 00       	call   0x462ae5
45f7a2:	eb 8b                	jmp    0x45f72f
45f7a4:	8b ce                	mov    %esi,%ecx
45f7a6:	e8 04 1a 00 00       	call   0x4611af
45f7ab:	eb 82                	jmp    0x45f72f
45f7ad:	8b ce                	mov    %esi,%ecx
45f7af:	e8 03 3d 00 00       	call   0x4634b7
45f7b4:	e9 76 ff ff ff       	jmp    0x45f72f
45f7b9:	83 e8 73             	sub    $0x73,%eax
45f7bc:	0f 84 66 ff ff ff    	je     0x45f728
45f7c2:	48                   	dec    %eax
45f7c3:	83 e8 01             	sub    $0x1,%eax
45f7c6:	74 d0                	je     0x45f798
45f7c8:	83 e8 03             	sub    $0x3,%eax
45f7cb:	0f 85 66 ff ff ff    	jne    0x45f737
45f7d1:	53                   	push   %ebx
45f7d2:	e9 69 ff ff ff       	jmp    0x45f740
45f7d7:	38 5e 30             	cmp    %bl,0x30(%esi)
45f7da:	0f 85 41 01 00 00    	jne    0x45f921
45f7e0:	8b 56 20             	mov    0x20(%esi),%edx
45f7e3:	33 c9                	xor    %ecx,%ecx
45f7e5:	57                   	push   %edi
45f7e6:	8b c2                	mov    %edx,%eax
45f7e8:	89 5d f4             	mov    %ebx,-0xc(%ebp)
45f7eb:	c1 e8 04             	shr    $0x4,%eax
45f7ee:	41                   	inc    %ecx
45f7ef:	66 89 5d f8          	mov    %bx,-0x8(%ebp)
45f7f3:	6a 20                	push   $0x20
45f7f5:	5f                   	pop    %edi
45f7f6:	84 c1                	test   %al,%cl
45f7f8:	74 28                	je     0x45f822
45f7fa:	8b c2                	mov    %edx,%eax
45f7fc:	c1 e8 06             	shr    $0x6,%eax
45f7ff:	84 c1                	test   %al,%cl
45f801:	74 09                	je     0x45f80c
45f803:	6a 2d                	push   $0x2d
45f805:	58                   	pop    %eax
45f806:	66 89 45 f4          	mov    %ax,-0xc(%ebp)
45f80a:	eb 14                	jmp    0x45f820
45f80c:	84 d1                	test   %dl,%cl
45f80e:	74 04                	je     0x45f814
45f810:	6a 2b                	push   $0x2b
45f812:	eb f1                	jmp    0x45f805
45f814:	8b c2                	mov    %edx,%eax
45f816:	d1 e8                	shr    $1,%eax
45f818:	84 c1                	test   %al,%cl
45f81a:	74 06                	je     0x45f822
45f81c:	66 89 7d f4          	mov    %di,-0xc(%ebp)
45f820:	8b d9                	mov    %ecx,%ebx
45f822:	0f b7 4e 32          	movzwl 0x32(%esi),%ecx
45f826:	83 f9 78             	cmp    $0x78,%ecx
45f829:	74 08                	je     0x45f833
45f82b:	6a 58                	push   $0x58
45f82d:	58                   	pop    %eax
45f82e:	66 3b c8             	cmp    %ax,%cx
45f831:	75 0d                	jne    0x45f840
45f833:	8b c2                	mov    %edx,%eax
45f835:	c1 e8 05             	shr    $0x5,%eax
45f838:	a8 01                	test   $0x1,%al
45f83a:	74 04                	je     0x45f840
45f83c:	b4 01                	mov    $0x1,%ah
45f83e:	eb 02                	jmp    0x45f842
45f840:	32 e4                	xor    %ah,%ah
45f842:	83 f9 61             	cmp    $0x61,%ecx
45f845:	74 0c                	je     0x45f853
45f847:	6a 41                	push   $0x41
45f849:	5f                   	pop    %edi
45f84a:	66 3b cf             	cmp    %di,%cx
45f84d:	74 04                	je     0x45f853
45f84f:	32 c0                	xor    %al,%al
45f851:	eb 02                	jmp    0x45f855
45f853:	b0 01                	mov    $0x1,%al
45f855:	6a 30                	push   $0x30
45f857:	5f                   	pop    %edi
45f858:	84 e4                	test   %ah,%ah
45f85a:	75 04                	jne    0x45f860
45f85c:	84 c0                	test   %al,%al
45f85e:	74 30                	je     0x45f890
45f860:	6a 58                	push   $0x58
45f862:	58                   	pop    %eax
45f863:	66 89 7c 5d f4       	mov    %di,-0xc(%ebp,%ebx,2)
45f868:	66 3b c8             	cmp    %ax,%cx
45f86b:	74 0c                	je     0x45f879
45f86d:	6a 41                	push   $0x41
45f86f:	58                   	pop    %eax
45f870:	66 3b c8             	cmp    %ax,%cx
45f873:	74 04                	je     0x45f879
45f875:	32 c0                	xor    %al,%al
45f877:	eb 02                	jmp    0x45f87b
45f879:	b0 01                	mov    $0x1,%al
45f87b:	84 c0                	test   %al,%al
45f87d:	0f 94 c0             	sete   %al
45f880:	fe c8                	dec    %al
45f882:	24 e0                	and    $0xe0,%al
45f884:	04 78                	add    $0x78,%al
45f886:	66 98                	cbtw
45f888:	66 89 44 5d f6       	mov    %ax,-0xa(%ebp,%ebx,2)
45f88d:	83 c3 02             	add    $0x2,%ebx
45f890:	8b 7e 24             	mov    0x24(%esi),%edi
45f893:	2b 7e 38             	sub    0x38(%esi),%edi
45f896:	2b fb                	sub    %ebx,%edi
45f898:	f6 c2 0c             	test   $0xc,%dl
45f89b:	75 16                	jne    0x45f8b3
45f89d:	8d 46 18             	lea    0x18(%esi),%eax
45f8a0:	50                   	push   %eax
45f8a1:	57                   	push   %edi
45f8a2:	8d 86 48 04 00 00    	lea    0x448(%esi),%eax
45f8a8:	6a 20                	push   $0x20
45f8aa:	50                   	push   %eax
45f8ab:	e8 7a 97 ff ff       	call   0x45902a
45f8b0:	83 c4 10             	add    $0x10,%esp
45f8b3:	8d 46 0c             	lea    0xc(%esi),%eax
45f8b6:	50                   	push   %eax
45f8b7:	8d 4e 18             	lea    0x18(%esi),%ecx
45f8ba:	51                   	push   %ecx
45f8bb:	53                   	push   %ebx
45f8bc:	8d 45 f4             	lea    -0xc(%ebp),%eax
45f8bf:	50                   	push   %eax
45f8c0:	8d 8e 48 04 00 00    	lea    0x448(%esi),%ecx
45f8c6:	e8 fb 5f 00 00       	call   0x4658c6
45f8cb:	8b 4e 20             	mov    0x20(%esi),%ecx
45f8ce:	8d 5e 18             	lea    0x18(%esi),%ebx
45f8d1:	8b c1                	mov    %ecx,%eax
45f8d3:	c1 e8 03             	shr    $0x3,%eax
45f8d6:	a8 01                	test   $0x1,%al
45f8d8:	74 1b                	je     0x45f8f5