5d5676:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
5d567c:	e8 4c 1a 00 00       	call   0x5d70cd
5d5681:	8b 75 18             	mov    0x18(%ebp),%esi
5d5684:	6a 0a                	push   $0xa
5d5686:	81 e6 00 0e 00 00    	and    $0xe00,%esi
5d568c:	5f                   	pop    %edi
5d568d:	89 7d 80             	mov    %edi,-0x80(%ebp)
5d5690:	81 fe 00 04 00 00    	cmp    $0x400,%esi
5d5696:	75 04                	jne    0x5d569c
5d5698:	6a 08                	push   $0x8
5d569a:	eb 0a                	jmp    0x5d56a6
5d569c:	81 fe 00 08 00 00    	cmp    $0x800,%esi
5d56a2:	75 05                	jne    0x5d56a9
5d56a4:	6a 10                	push   $0x10
5d56a6:	5e                   	pop    %esi
5d56a7:	eb 06                	jmp    0x5d56af
5d56a9:	f7 de                	neg    %esi
5d56ab:	1b f6                	sbb    %esi,%esi
5d56ad:	23 f7                	and    %edi,%esi
5d56af:	ff b5 78 ff ff ff    	push   -0x88(%ebp)
5d56b5:	32 c0                	xor    %al,%al
5d56b7:	53                   	push   %ebx
5d56b8:	88 45 87             	mov    %al,-0x79(%ebp)
5d56bb:	88 85 74 ff ff ff    	mov    %al,-0x8c(%ebp)
5d56c1:	88 45 86             	mov    %al,-0x7a(%ebp)
5d56c4:	e8 3c ad ff ff       	call   0x5d0405
5d56c9:	59                   	pop    %ecx
5d56ca:	59                   	pop    %ecx
5d56cb:	84 c0                	test   %al,%al
5d56cd:	0f 84 90 00 00 00    	je     0x5d5763
5d56d3:	80 7b 04 00          	cmpb   $0x0,0x4(%ebx)
5d56d7:	75 07                	jne    0x5d56e0
5d56d9:	8b cb                	mov    %ebx,%ecx
5d56db:	e8 4a 2b 00 00       	call   0x5d822a
5d56e0:	0f b7 43 06          	movzwl 0x6(%ebx),%eax
5d56e4:	66 3b 45 b8          	cmp    -0x48(%ebp),%ax
5d56e8:	75 79                	jne    0x5d5763
5d56ea:	b0 01                	mov    $0x1,%al
5d56ec:	8b cb                	mov    %ebx,%ecx
5d56ee:	88 45 87             	mov    %al,-0x79(%ebp)
5d56f1:	88 85 74 ff ff ff    	mov    %al,-0x8c(%ebp)
5d56f7:	e8 d1 19 00 00       	call   0x5d70cd
5d56fc:	ff b5 78 ff ff ff    	push   -0x88(%ebp)
5d5702:	53                   	push   %ebx
5d5703:	e8 fd ac ff ff       	call   0x5d0405
5d5708:	59                   	pop    %ecx
5d5709:	59                   	pop    %ecx
5d570a:	84 c0                	test   %al,%al
5d570c:	74 4e                	je     0x5d575c
5d570e:	80 7b 04 00          	cmpb   $0x0,0x4(%ebx)
5d5712:	75 07                	jne    0x5d571b
5d5714:	8b cb                	mov    %ebx,%ecx
5d5716:	e8 0f 2b 00 00       	call   0x5d822a
5d571b:	0f b7 43 06          	movzwl 0x6(%ebx),%eax
5d571f:	66 3b 45 ea          	cmp    -0x16(%ebp),%ax
5d5723:	74 17                	je     0x5d573c
5d5725:	80 7b 04 00          	cmpb   $0x0,0x4(%ebx)
5d5729:	75 0b                	jne    0x5d5736
5d572b:	8b cb                	mov    %ebx,%ecx
5d572d:	e8 f8 2a 00 00       	call   0x5d822a
5d5732:	0f b7 43 06          	movzwl 0x6(%ebx),%eax
5d5736:	66 3b 45 e8          	cmp    -0x18(%ebp),%ax
5d573a:	75 20                	jne    0x5d575c
5d573c:	85 f6                	test   %esi,%esi
5d573e:	74 05                	je     0x5d5745
5d5740:	83 fe 10             	cmp    $0x10,%esi
5d5743:	75 17                	jne    0x5d575c
5d5745:	6a 10                	push   $0x10
5d5747:	32 c0                	xor    %al,%al
5d5749:	8b cb                	mov    %ebx,%ecx
5d574b:	5e                   	pop    %esi
5d574c:	88 45 87             	mov    %al,-0x79(%ebp)
5d574f:	88 85 74 ff ff ff    	mov    %al,-0x8c(%ebp)
5d5755:	e8 73 19 00 00       	call   0x5d70cd
5d575a:	eb 0f                	jmp    0x5d576b
5d575c:	85 f6                	test   %esi,%esi
5d575e:	75 07                	jne    0x5d5767
5d5760:	6a 08                	push   $0x8
5d5762:	5e                   	pop    %esi
5d5763:	85 f6                	test   %esi,%esi
5d5765:	74 16                	je     0x5d577d
5d5767:	3b f7                	cmp    %edi,%esi
5d5769:	74 12                	je     0x5d577d
5d576b:	33 c0                	xor    %eax,%eax
5d576d:	83 fe 08             	cmp    $0x8,%esi
5d5770:	0f 95 c0             	setne  %al
5d5773:	48                   	dec    %eax
5d5774:	83 e0 f2             	and    $0xfffffff2,%eax
5d5777:	83 c0 16             	add    $0x16,%eax
5d577a:	89 45 80             	mov    %eax,-0x80(%ebp)
5d577d:	ff b5 74 ff ff ff    	push   -0x8c(%ebp)
5d5783:	83 65 b0 00          	andl   $0x0,-0x50(%ebp)
5d5787:	8d 4d a0             	lea    -0x60(%ebp),%ecx
5d578a:	6a 01                	push   $0x1
5d578c:	c7 45 b4 0f 00 00 00 	movl   $0xf,-0x4c(%ebp)
5d5793:	c6 45 a0 00          	movb   $0x0,-0x60(%ebp)
5d5797:	e8 e1 8d ff ff       	call   0x5ce57d
5d579c:	8b 85 6c ff ff ff    	mov    -0x94(%ebp),%eax
5d57a2:	33 ff                	xor    %edi,%edi
5d57a4:	ff b5 78 ff ff ff    	push   -0x88(%ebp)
5d57aa:	83 c0 1f             	add    $0x1f,%eax
5d57ad:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
5d57b1:	53                   	push   %ebx
5d57b2:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
5d57b8:	e8 48 ac ff ff       	call   0x5d0405
5d57bd:	59                   	pop    %ecx
5d57be:	59                   	pop    %ecx
5d57bf:	84 c0                	test   %al,%al
5d57c1:	0f 84 fd 00 00 00    	je     0x5d58c4
5d57c7:	80 7b 04 00          	cmpb   $0x0,0x4(%ebx)
5d57cb:	75 07                	jne    0x5d57d4
5d57cd:	8b cb                	mov    %ebx,%ecx
5d57cf:	e8 56 2a 00 00       	call   0x5d822a
5d57d4:	0f b7 43 06          	movzwl 0x6(%ebx),%eax
5d57d8:	50                   	push   %eax
5d57d9:	8d 45 b8             	lea    -0x48(%ebp),%eax
5d57dc:	50                   	push   %eax
5d57dd:	e8 95 ac ff ff       	call   0x5d0477
5d57e2:	59                   	pop    %ecx
5d57e3:	59                   	pop    %ecx
5d57e4:	3b 45 80             	cmp    -0x80(%ebp),%eax
5d57e7:	73 53                	jae    0x5d583c
5d57e9:	80 7d 86 00          	cmpb   $0x0,-0x7a(%ebp)
5d57ed:	8a 88 f0 03 6d 00    	mov    0x6d03f0(%eax),%cl
5d57f3:	8b 85 7c ff ff ff    	mov    -0x84(%ebp),%eax
5d57f9:	88 08                	mov    %cl,(%eax)
5d57fb:	75 05                	jne    0x5d5802
5d57fd:	80 f9 30             	cmp    $0x30,%cl
5d5800:	74 13                	je     0x5d5815
5d5802:	3b 85 74 ff ff ff    	cmp    -0x8c(%ebp),%eax
5d5808:	73 0b                	jae    0x5d5815
5d580a:	40                   	inc    %eax
5d580b:	c6 45 86 01          	movb   $0x1,-0x7a(%ebp)
5d580f:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
5d5815:	83 7d b4 10          	cmpl   $0x10,-0x4c(%ebp)
5d5819:	8d 45 a0             	lea    -0x60(%ebp),%eax
5d581c:	c6 45 87 01          	movb   $0x1,-0x79(%ebp)
5d5820:	72 03                	jb     0x5d5825
5d5822:	8b 45 a0             	mov    -0x60(%ebp),%eax
5d5825:	80 3c 38 7f          	cmpb   $0x7f,(%eax,%edi,1)
5d5829:	74 5b                	je     0x5d5886
5d582b:	83 7d b4 10          	cmpl   $0x10,-0x4c(%ebp)
5d582f:	8d 45 a0             	lea    -0x60(%ebp),%eax
5d5832:	72 03                	jb     0x5d5837
5d5834:	8b 45 a0             	mov    -0x60(%ebp),%eax
5d5837:	fe 04 38             	incb   (%eax,%edi,1)
5d583a:	eb 4a                	jmp    0x5d5886
5d583c:	83 7d b4 10          	cmpl   $0x10,-0x4c(%ebp)
5d5840:	8d 45 a0             	lea    -0x60(%ebp),%eax
5d5843:	8b 4d a0             	mov    -0x60(%ebp),%ecx
5d5846:	72 02                	jb     0x5d584a
5d5848:	8b c1                	mov    %ecx,%eax
5d584a:	80 3c 38 00          	cmpb   $0x0,(%eax,%edi,1)
5d584e:	74 56                	je     0x5d58a6
5d5850:	66 83 bd 70 ff ff ff 	cmpw   $0x0,-0x90(%ebp)
5d5857:	00
5d5858:	74 4c                	je     0x5d58a6
5d585a:	80 7b 04 00          	cmpb   $0x0,0x4(%ebx)
5d585e:	0f b7 43 06          	movzwl 0x6(%ebx),%eax
5d5862:	75 0e                	jne    0x5d5872
5d5864:	8b cb                	mov    %ebx,%ecx
5d5866:	e8 bf 29 00 00       	call   0x5d822a
5d586b:	0f b7 43 06          	movzwl 0x6(%ebx),%eax
5d586f:	8b 4d a0             	mov    -0x60(%ebp),%ecx
5d5872:	66 3b 85 70 ff ff ff 	cmp    -0x90(%ebp),%ax
5d5879:	75 2b                	jne    0x5d58a6
5d587b:	6a 00                	push   $0x0
5d587d:	8d 4d a0             	lea    -0x60(%ebp),%ecx
5d5880:	e8 1b 85 e8 ff       	call   0x45dda0
5d5885:	47                   	inc    %edi
5d5886:	8b cb                	mov    %ebx,%ecx
5d5888:	e8 40 18 00 00       	call   0x5d70cd
5d588d:	ff b5 78 ff ff ff    	push   -0x88(%ebp)
5d5893:	53                   	push   %ebx
5d5894:	e8 6c ab ff ff       	call   0x5d0405
5d5899:	59                   	pop    %ecx
5d589a:	59                   	pop    %ecx
5d589b:	84 c0                	test   %al,%al
5d589d:	0f 85 24 ff ff ff    	jne    0x5d57c7
5d58a3:	8b 4d a0             	mov    -0x60(%ebp),%ecx
5d58a6:	8b 5d b4             	mov    -0x4c(%ebp),%ebx
5d58a9:	85 ff                	test   %edi,%edi
5d58ab:	74 1d                	je     0x5d58ca
5d58ad:	8d 45 a0             	lea    -0x60(%ebp),%eax
5d58b0:	83 fb 10             	cmp    $0x10,%ebx
5d58b3:	72 02                	jb     0x5d58b7
5d58b5:	8b c1                	mov    %ecx,%eax
5d58b7:	80 3c 38 00          	cmpb   $0x0,(%eax,%edi,1)
5d58bb:	7e 03                	jle    0x5d58c0
5d58bd:	47                   	inc    %edi
5d58be:	eb 0a                	jmp    0x5d58ca
5d58c0:	32 d2                	xor    %dl,%dl
5d58c2:	eb 09                	jmp    0x5d58cd
5d58c4:	8b 4d a0             	mov    -0x60(%ebp),%ecx
5d58c7:	8b 5d b4             	mov    -0x4c(%ebp),%ebx
5d58ca:	8a 55 87             	mov    -0x79(%ebp),%dl
5d58cd:	83 7d 9c 10          	cmpl   $0x10,-0x64(%ebp)
5d58d1:	8d 45 88             	lea    -0x78(%ebp),%eax
5d58d4:	72 03                	jb     0x5d58d9
5d58d6:	8b 45 88             	mov    -0x78(%ebp),%eax
5d58d9:	84 d2                	test   %dl,%dl
5d58db:	74 67                	je     0x5d5944
5d58dd:	85 ff                	test   %edi,%edi
5d58df:	74 51                	je     0x5d5932
5d58e1:	8a 10                	mov    (%eax),%dl
5d58e3:	80 fa 7f             	cmp    $0x7f,%dl
5d58e6:	74 4a                	je     0x5d5932
5d58e8:	83 ef 01             	sub    $0x1,%edi
5d58eb:	74 1f                	je     0x5d590c
5d58ed:	8d 4d a0             	lea    -0x60(%ebp),%ecx
5d58f0:	89 4d 80             	mov    %ecx,-0x80(%ebp)
5d58f3:	8b 4d a0             	mov    -0x60(%ebp),%ecx
5d58f6:	83 fb 10             	cmp    $0x10,%ebx
5d58f9:	72 06                	jb     0x5d5901
5d58fb:	8b 5d b4             	mov    -0x4c(%ebp),%ebx
5d58fe:	89 4d 80             	mov    %ecx,-0x80(%ebp)
5d5901:	8b 4d 80             	mov    -0x80(%ebp),%ecx
5d5904:	3a 14 39             	cmp    (%ecx,%edi,1),%dl
5d5907:	8b 4d a0             	mov    -0x60(%ebp),%ecx
5d590a:	75 38                	jne    0x5d5944
5d590c:	85 ff                	test   %edi,%edi
5d590e:	75 19                	jne    0x5d5929
5d5910:	83 7d b4 10          	cmpl   $0x10,-0x4c(%ebp)
5d5914:	8d 5d a0             	lea    -0x60(%ebp),%ebx
5d5917:	89 5d 80             	mov    %ebx,-0x80(%ebp)
5d591a:	72 03                	jb     0x5d591f
5d591c:	89 4d 80             	mov    %ecx,-0x80(%ebp)
5d591f:	8b 5d 80             	mov    -0x80(%ebp),%ebx
5d5922:	3a 13                	cmp    (%ebx),%dl
5d5924:	8b 5d b4             	mov    -0x4c(%ebp),%ebx
5d5927:	7c 1b                	jl     0x5d5944
5d5929:	80 78 01 00          	cmpb   $0x0,0x1(%eax)
5d592d:	7e ae                	jle    0x5d58dd
5d592f:	40                   	inc    %eax
5d5930:	eb ab                	jmp    0x5d58dd
5d5932:	80 7d 86 00          	cmpb   $0x0,-0x7a(%ebp)
5d5936:	8b 85 7c ff ff ff    	mov    -0x84(%ebp),%eax
5d593c:	75 0c                	jne    0x5d594a
5d593e:	c6 00 30             	movb   $0x30,(%eax)
5d5941:	40                   	inc    %eax
5d5942:	eb 06                	jmp    0x5d594a
5d5944:	8b 85 6c ff ff ff    	mov    -0x94(%ebp),%eax
5d594a:	8d 4d a0             	lea    -0x60(%ebp),%ecx
5d594d:	c6 00 00             	movb   $0x0,(%eax)
5d5950:	e8 2b f6 e6 ff       	call   0x444f80
5d5955:	8d 4d 88             	lea    -0x78(%ebp),%ecx
5d5958:	e8 23 f6 e6 ff       	call   0x444f80
5d595d:	8b c6                	mov    %esi,%eax
5d595f:	e8 46 c6 00 00       	call   0x5e1faa
5d5964:	c3                   	ret
5d5965:	55                   	push   %ebp
5d5966:	8b ec                	mov    %esp,%ebp
5d5968:	83 ec 40             	sub    $0x40,%esp
5d596b:	a1 d4 89 72 00       	mov    0x7289d4,%eax
5d5970:	33 c5                	xor    %ebp,%eax
5d5972:	89 45 fc             	mov    %eax,-0x4(%ebp)
5d5975:	8b 45 10             	mov    0x10(%ebp),%eax
5d5978:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
5d597b:	53                   	push   %ebx
5d597c:	56                   	push   %esi
5d597d:	8b 75 20             	mov    0x20(%ebp),%esi
5d5980:	8d 5d dc             	lea    -0x24(%ebp),%ebx
5d5983:	57                   	push   %edi
5d5984:	8b 7d 0c             	mov    0xc(%ebp),%edi
5d5987:	50                   	push   %eax
5d5988:	57                   	push   %edi
5d5989:	89 45 d0             	mov    %eax,-0x30(%ebp)
5d598c:	89 4d c0             	mov    %ecx,-0x40(%ebp)
5d598f:	89 75 d4             	mov    %esi,-0x2c(%ebp)
5d5992:	89 5d cc             	mov    %ebx,-0x34(%ebp)
5d5995:	e8 6b aa ff ff       	call   0x5d0405
5d599a:	59                   	pop    %ecx
5d599b:	59                   	pop    %ecx
5d599c:	84 c0                	test   %al,%al
5d599e:	74 46                	je     0x5d59e6
5d59a0:	80 7f 04 00          	cmpb   $0x0,0x4(%edi)
5d59a4:	75 07                	jne    0x5d59ad
5d59a6:	8b cf                	mov    %edi,%ecx
5d59a8:	e8 7d 28 00 00       	call   0x5d822a
5d59ad:	8b 06                	mov    (%esi),%eax
5d59af:	0f b7 4f 06          	movzwl 0x6(%edi),%ecx
5d59b3:	6a 00                	push   $0x0
5d59b5:	51                   	push   %ecx
5d59b6:	8b 70 38             	mov    0x38(%eax),%esi
5d59b9:	8b ce                	mov    %esi,%ecx
5d59bb:	ff 15 e0 24 68 00    	call   *0x6824e0
5d59c1:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
5d59c4:	ff d6                	call   *%esi
5d59c6:	3c 2b                	cmp    $0x2b,%al
5d59c8:	75 05                	jne    0x5d59cf
5d59ca:	88 45 dc             	mov    %al,-0x24(%ebp)
5d59cd:	eb 07                	jmp    0x5d59d6
5d59cf:	3c 2d                	cmp    $0x2d,%al
5d59d1:	75 10                	jne    0x5d59e3
5d59d3:	88 45 dc             	mov    %al,-0x24(%ebp)
5d59d6:	8d 5d dd             	lea    -0x23(%ebp),%ebx
5d59d9:	8b cf                	mov    %edi,%ecx
5d59db:	89 5d cc             	mov    %ebx,-0x34(%ebp)
5d59de:	e8 ea 16 00 00       	call   0x5d70cd
5d59e3:	8b 75 d4             	mov    -0x2c(%ebp),%esi
5d59e6:	ff 75 d0             	push   -0x30(%ebp)
5d59e9:	c6 45 db 00          	movb   $0x0,-0x25(%ebp)
5d59ed:	57                   	push   %edi
5d59ee:	e8 12 aa ff ff       	call   0x5d0405
5d59f3:	59                   	pop    %ecx
5d59f4:	59                   	pop    %ecx
5d59f5:	84 c0                	test   %al,%al
5d59f7:	0f 84 a0 00 00 00    	je     0x5d5a9d
5d59fd:	8a 5d db             	mov    -0x25(%ebp),%bl
5d5a00:	eb 03                	jmp    0x5d5a05
5d5a02:	8b 75 d4             	mov    -0x2c(%ebp),%esi
5d5a05:	80 7f 04 00          	cmpb   $0x0,0x4(%edi)
5d5a09:	75 07                	jne    0x5d5a12
5d5a0b:	8b cf                	mov    %edi,%ecx
5d5a0d:	e8 18 28 00 00       	call   0x5d822a
5d5a12:	8b 06                	mov    (%esi),%eax
5d5a14:	0f b7 4f 06          	movzwl 0x6(%edi),%ecx
5d5a18:	6a 00                	push   $0x0
5d5a1a:	51                   	push   %ecx
5d5a1b:	8b 70 38             	mov    0x38(%eax),%esi
5d5a1e:	8b ce                	mov    %esi,%ecx
5d5a20:	ff 15 e0 24 68 00    	call   *0x6824e0
5d5a26:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
5d5a29:	ff d6                	call   *%esi
5d5a2b:	3c 30                	cmp    $0x30,%al
5d5a2d:	75 18                	jne    0x5d5a47
5d5a2f:	8b cf                	mov    %edi,%ecx
5d5a31:	b3 01                	mov    $0x1,%bl
5d5a33:	e8 95 16 00 00       	call   0x5d70cd
5d5a38:	ff 75 d0             	push   -0x30(%ebp)
5d5a3b:	57                   	push   %edi
5d5a3c:	e8 c4 a9 ff ff       	call   0x5d0405
5d5a41:	59                   	pop    %ecx
5d5a42:	59                   	pop    %ecx
5d5a43:	84 c0                	test   %al,%al
5d5a45:	75 bb                	jne    0x5d5a02
5d5a47:	88 5d db             	mov    %bl,-0x25(%ebp)
5d5a4a:	84 db                	test   %bl,%bl
5d5a4c:	8b 5d cc             	mov    -0x34(%ebp),%ebx
5d5a4f:	74 4c                	je     0x5d5a9d
5d5a51:	c6 03 30             	movb   $0x30,(%ebx)
5d5a54:	43                   	inc    %ebx
5d5a55:	eb 46                	jmp    0x5d5a9d
5d5a57:	80 7f 04 00          	cmpb   $0x0,0x4(%edi)
5d5a5b:	75 07                	jne    0x5d5a64
5d5a5d:	8b cf                	mov    %edi,%ecx
5d5a5f:	e8 c6 27 00 00       	call   0x5d822a
5d5a64:	8b 45 d4             	mov    -0x2c(%ebp),%eax
5d5a67:	0f b7 4f 06          	movzwl 0x6(%edi),%ecx
5d5a6b:	6a 00                	push   $0x0