5d896e:	72 03                	jb     0x5d8973
5d8970:	8b 45 c0             	mov    -0x40(%ebp),%eax
5d8973:	80 38 7f             	cmpb   $0x7f,(%eax)
5d8976:	74 65                	je     0x5d89dd
5d8978:	83 7d d4 10          	cmpl   $0x10,-0x2c(%ebp)
5d897c:	8d 45 c0             	lea    -0x40(%ebp),%eax
5d897f:	72 03                	jb     0x5d8984
5d8981:	8b 45 c0             	mov    -0x40(%ebp),%eax
5d8984:	80 38 00             	cmpb   $0x0,(%eax)
5d8987:	7e 54                	jle    0x5d89dd
5d8989:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
5d898c:	e8 a3 4a 00 00       	call   0x5dd434
5d8991:	83 7d d4 10          	cmpl   $0x10,-0x2c(%ebp)
5d8995:	8d 7d c0             	lea    -0x40(%ebp),%edi
5d8998:	0f b7 c8             	movzwl %ax,%ecx
5d899b:	89 4d 84             	mov    %ecx,-0x7c(%ebp)
5d899e:	72 03                	jb     0x5d89a3
5d89a0:	8b 7d c0             	mov    -0x40(%ebp),%edi
5d89a3:	8b 75 34             	mov    0x34(%ebp),%esi
5d89a6:	2b b5 7c ff ff ff    	sub    -0x84(%ebp),%esi
5d89ac:	8a 07                	mov    (%edi),%al
5d89ae:	3c 7f                	cmp    $0x7f,%al
5d89b0:	74 25                	je     0x5d89d7
5d89b2:	84 c0                	test   %al,%al
5d89b4:	7e 21                	jle    0x5d89d7
5d89b6:	0f be c0             	movsbl %al,%eax
5d89b9:	3b c6                	cmp    %esi,%eax
5d89bb:	73 1a                	jae    0x5d89d7
5d89bd:	51                   	push   %ecx
5d89be:	2b f0                	sub    %eax,%esi
5d89c0:	8d 4d 24             	lea    0x24(%ebp),%ecx
5d89c3:	6a 01                	push   $0x1
5d89c5:	56                   	push   %esi
5d89c6:	e8 45 80 e6 ff       	call   0x440a10
5d89cb:	80 7f 01 00          	cmpb   $0x0,0x1(%edi)
5d89cf:	7e 01                	jle    0x5d89d2
5d89d1:	47                   	inc    %edi
5d89d2:	8b 4d 84             	mov    -0x7c(%ebp),%ecx
5d89d5:	eb d5                	jmp    0x5d89ac
5d89d7:	8b bd 7c ff ff ff    	mov    -0x84(%ebp),%edi
5d89dd:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
5d89e1:	33 c0                	xor    %eax,%eax
5d89e3:	c7 45 ec 07 00 00 00 	movl   $0x7,-0x14(%ebp)
5d89ea:	66 89 45 d8          	mov    %ax,-0x28(%ebp)
5d89ee:	80 7d 20 00          	cmpb   $0x0,0x20(%ebp)
5d89f2:	8b 45 8c             	mov    -0x74(%ebp),%eax
5d89f5:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
5d89f9:	8b 30                	mov    (%eax),%esi
5d89fb:	8d 45 84             	lea    -0x7c(%ebp),%eax
5d89fe:	50                   	push   %eax
5d89ff:	74 23                	je     0x5d8a24
5d8a01:	8b 76 2c             	mov    0x2c(%esi),%esi
5d8a04:	8b ce                	mov    %esi,%ecx
5d8a06:	ff 15 e0 24 68 00    	call   *0x6824e0
5d8a0c:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
5d8a0f:	ff d6                	call   *%esi
5d8a11:	8b 45 84             	mov    -0x7c(%ebp),%eax
5d8a14:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
5d8a1a:	8b 45 8c             	mov    -0x74(%ebp),%eax
5d8a1d:	8b 00                	mov    (%eax),%eax
5d8a1f:	8b 70 20             	mov    0x20(%eax),%esi
5d8a22:	eb 21                	jmp    0x5d8a45
5d8a24:	8b 76 28             	mov    0x28(%esi),%esi
5d8a27:	8b ce                	mov    %esi,%ecx
5d8a29:	ff 15 e0 24 68 00    	call   *0x6824e0
5d8a2f:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
5d8a32:	ff d6                	call   *%esi
5d8a34:	8b 45 84             	mov    -0x7c(%ebp),%eax
5d8a37:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
5d8a3d:	8b 45 8c             	mov    -0x74(%ebp),%eax
5d8a40:	8b 00                	mov    (%eax),%eax
5d8a42:	8b 70 1c             	mov    0x1c(%eax),%esi
5d8a45:	8d 45 90             	lea    -0x70(%ebp),%eax
5d8a48:	8b ce                	mov    %esi,%ecx
5d8a4a:	50                   	push   %eax
5d8a4b:	ff 15 e0 24 68 00    	call   *0x6824e0
5d8a51:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
5d8a54:	ff d6                	call   *%esi
5d8a56:	c6 45 84 00          	movb   $0x0,-0x7c(%ebp)
5d8a5a:	8d 45 90             	lea    -0x70(%ebp),%eax
5d8a5d:	ff 75 84             	push   -0x7c(%ebp)
5d8a60:	8d 4d d8             	lea    -0x28(%ebp),%ecx
5d8a63:	50                   	push   %eax
5d8a64:	e8 95 f7 ff ff       	call   0x5d81fe
5d8a69:	8d 4d 90             	lea    -0x70(%ebp),%ecx
5d8a6c:	e8 5f c5 e6 ff       	call   0x444fd0
5d8a71:	83 65 b8 00          	andl   $0x0,-0x48(%ebp)
5d8a75:	33 c0                	xor    %eax,%eax
5d8a77:	c7 45 bc 07 00 00 00 	movl   $0x7,-0x44(%ebp)
5d8a7e:	66 89 45 a8          	mov    %ax,-0x58(%ebp)
5d8a82:	8b 85 6c ff ff ff    	mov    -0x94(%ebp),%eax
5d8a88:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
5d8a8c:	f6 40 14 08          	testb  $0x8,0x14(%eax)
5d8a90:	74 34                	je     0x5d8ac6
5d8a92:	8b 45 8c             	mov    -0x74(%ebp),%eax
5d8a95:	8d 4d 90             	lea    -0x70(%ebp),%ecx
5d8a98:	51                   	push   %ecx
5d8a99:	8b 00                	mov    (%eax),%eax
5d8a9b:	8b 70 18             	mov    0x18(%eax),%esi
5d8a9e:	8b ce                	mov    %esi,%ecx
5d8aa0:	ff 15 e0 24 68 00    	call   *0x6824e0
5d8aa6:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
5d8aa9:	ff d6                	call   *%esi
5d8aab:	c6 45 84 00          	movb   $0x0,-0x7c(%ebp)
5d8aaf:	8d 45 90             	lea    -0x70(%ebp),%eax
5d8ab2:	ff 75 84             	push   -0x7c(%ebp)
5d8ab5:	8d 4d a8             	lea    -0x58(%ebp),%ecx
5d8ab8:	50                   	push   %eax
5d8ab9:	e8 40 f7 ff ff       	call   0x5d81fe
5d8abe:	8d 4d 90             	lea    -0x70(%ebp),%ecx
5d8ac1:	e8 0a c5 e6 ff       	call   0x444fd0
5d8ac6:	32 d2                	xor    %dl,%dl
5d8ac8:	33 c9                	xor    %ecx,%ecx
5d8aca:	88 55 8b             	mov    %dl,-0x75(%ebp)
5d8acd:	33 f6                	xor    %esi,%esi
5d8acf:	0f be 84 35 74 ff ff 	movsbl -0x8c(%ebp,%esi,1),%eax
5d8ad6:	ff
5d8ad7:	83 e8 20             	sub    $0x20,%eax
5d8ada:	74 44                	je     0x5d8b20
5d8adc:	83 e8 04             	sub    $0x4,%eax
5d8adf:	74 3a                	je     0x5d8b1b
5d8ae1:	83 e8 07             	sub    $0x7,%eax
5d8ae4:	74 30                	je     0x5d8b16
5d8ae6:	83 e8 4b             	sub    $0x4b,%eax
5d8ae9:	74 08                	je     0x5d8af3
5d8aeb:	48                   	dec    %eax
5d8aec:	83 e8 01             	sub    $0x1,%eax
5d8aef:	74 30                	je     0x5d8b21
5d8af1:	eb 38                	jmp    0x5d8b2b
5d8af3:	39 7d 34             	cmp    %edi,0x34(%ebp)
5d8af6:	77 08                	ja     0x5d8b00
5d8af8:	8b d7                	mov    %edi,%edx
5d8afa:	2b 55 34             	sub    0x34(%ebp),%edx
5d8afd:	42                   	inc    %edx
5d8afe:	eb 02                	jmp    0x5d8b02
5d8b00:	33 d2                	xor    %edx,%edx
5d8b02:	33 c0                	xor    %eax,%eax
5d8b04:	3b c7                	cmp    %edi,%eax
5d8b06:	1b c0                	sbb    %eax,%eax
5d8b08:	f7 d8                	neg    %eax
5d8b0a:	03 45 34             	add    0x34(%ebp),%eax
5d8b0d:	03 c2                	add    %edx,%eax
5d8b0f:	8a 55 8b             	mov    -0x75(%ebp),%dl
5d8b12:	03 c8                	add    %eax,%ecx
5d8b14:	eb 15                	jmp    0x5d8b2b
5d8b16:	03 4d e8             	add    -0x18(%ebp),%ecx
5d8b19:	eb 10                	jmp    0x5d8b2b
5d8b1b:	03 4d b8             	add    -0x48(%ebp),%ecx
5d8b1e:	eb 0b                	jmp    0x5d8b2b
5d8b20:	41                   	inc    %ecx
5d8b21:	83 fe 03             	cmp    $0x3,%esi
5d8b24:	74 05                	je     0x5d8b2b
5d8b26:	b2 01                	mov    $0x1,%dl
5d8b28:	88 55 8b             	mov    %dl,-0x75(%ebp)
5d8b2b:	46                   	inc    %esi
5d8b2c:	83 fe 04             	cmp    $0x4,%esi
5d8b2f:	72 9e                	jb     0x5d8acf
5d8b31:	8b 85 6c ff ff ff    	mov    -0x94(%ebp),%eax
5d8b37:	83 78 24 00          	cmpl   $0x0,0x24(%eax)
5d8b3b:	7c 13                	jl     0x5d8b50
5d8b3d:	7f 06                	jg     0x5d8b45
5d8b3f:	83 78 20 00          	cmpl   $0x0,0x20(%eax)
5d8b43:	76 0b                	jbe    0x5d8b50
5d8b45:	8b 70 20             	mov    0x20(%eax),%esi
5d8b48:	3b f1                	cmp    %ecx,%esi
5d8b4a:	76 04                	jbe    0x5d8b50
5d8b4c:	2b f1                	sub    %ecx,%esi
5d8b4e:	eb 02                	jmp    0x5d8b52
5d8b50:	33 f6                	xor    %esi,%esi
5d8b52:	8b 40 14             	mov    0x14(%eax),%eax
5d8b55:	25 c0 01 00 00       	and    $0x1c0,%eax
5d8b5a:	89 85 68 ff ff ff    	mov    %eax,-0x98(%ebp)
5d8b60:	83 f8 40             	cmp    $0x40,%eax
5d8b63:	74 33                	je     0x5d8b98
5d8b65:	3d 00 01 00 00       	cmp    $0x100,%eax
5d8b6a:	75 04                	jne    0x5d8b70
5d8b6c:	84 d2                	test   %dl,%dl
5d8b6e:	75 28                	jne    0x5d8b98
5d8b70:	56                   	push   %esi
5d8b71:	ff b5 78 ff ff ff    	push   -0x88(%ebp)
5d8b77:	8d 45 80             	lea    -0x80(%ebp),%eax
5d8b7a:	ff 75 10             	push   0x10(%ebp)
5d8b7d:	ff 75 0c             	push   0xc(%ebp)
5d8b80:	50                   	push   %eax
5d8b81:	e8 cd 02 00 00       	call   0x5d8e53
5d8b86:	83 c4 14             	add    $0x14,%esp
5d8b89:	33 f6                	xor    %esi,%esi
5d8b8b:	8b 08                	mov    (%eax),%ecx
5d8b8d:	89 4d 0c             	mov    %ecx,0xc(%ebp)
5d8b90:	8b 50 04             	mov    0x4(%eax),%edx
5d8b93:	89 55 10             	mov    %edx,0x10(%ebp)
5d8b96:	eb 06                	jmp    0x5d8b9e
5d8b98:	8b 55 10             	mov    0x10(%ebp),%edx
5d8b9b:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5d8b9e:	33 c0                	xor    %eax,%eax
5d8ba0:	89 45 84             	mov    %eax,-0x7c(%ebp)
5d8ba3:	0f be 84 05 74 ff ff 	movsbl -0x8c(%ebp,%eax,1),%eax
5d8baa:	ff
5d8bab:	83 e8 20             	sub    $0x20,%eax
5d8bae:	0f 84 86 01 00 00    	je     0x5d8d3a
5d8bb4:	83 e8 04             	sub    $0x4,%eax
5d8bb7:	0f 84 63 01 00 00    	je     0x5d8d20
5d8bbd:	83 e8 07             	sub    $0x7,%eax
5d8bc0:	0f 84 37 01 00 00    	je     0x5d8cfd
5d8bc6:	83 e8 4b             	sub    $0x4b,%eax
5d8bc9:	74 0f                	je     0x5d8bda
5d8bcb:	48                   	dec    %eax
5d8bcc:	83 e8 01             	sub    $0x1,%eax
5d8bcf:	0f 84 89 01 00 00    	je     0x5d8d5e
5d8bd5:	e9 b5 01 00 00       	jmp    0x5d8d8f
5d8bda:	85 ff                	test   %edi,%edi
5d8bdc:	75 1d                	jne    0x5d8bfb
5d8bde:	83 7d 38 08          	cmpl   $0x8,0x38(%ebp)
5d8be2:	8d 45 24             	lea    0x24(%ebp),%eax
5d8be5:	72 03                	jb     0x5d8bea
5d8be7:	8b 45 24             	mov    0x24(%ebp),%eax
5d8bea:	ff 75 34             	push   0x34(%ebp)
5d8bed:	50                   	push   %eax
5d8bee:	52                   	push   %edx
5d8bef:	51                   	push   %ecx
5d8bf0:	8d 85 4c ff ff ff    	lea    -0xb4(%ebp),%eax
5d8bf6:	e9 f4 00 00 00       	jmp    0x5d8cef
5d8bfb:	39 7d 34             	cmp    %edi,0x34(%ebp)
5d8bfe:	77 6b                	ja     0x5d8c6b
5d8c00:	ff b5 70 ff ff ff    	push   -0x90(%ebp)
5d8c06:	8d 4d 0c             	lea    0xc(%ebp),%ecx
5d8c09:	e8 a2 7d e6 ff       	call   0x4409b0
5d8c0e:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
5d8c11:	e8 d6 04 00 00       	call   0x5d90ec
5d8c16:	0f b7 c0             	movzwl %ax,%eax
5d8c19:	8d 4d 0c             	lea    0xc(%ebp),%ecx
5d8c1c:	50                   	push   %eax
5d8c1d:	e8 8e 7d e6 ff       	call   0x4409b0
5d8c22:	8b c7                	mov    %edi,%eax
5d8c24:	2b 45 34             	sub    0x34(%ebp),%eax
5d8c27:	50                   	push   %eax
5d8c28:	ff b5 70 ff ff ff    	push   -0x90(%ebp)
5d8c2e:	8d 85 44 ff ff ff    	lea    -0xbc(%ebp),%eax
5d8c34:	ff 75 10             	push   0x10(%ebp)
5d8c37:	ff 75 0c             	push   0xc(%ebp)
5d8c3a:	50                   	push   %eax
5d8c3b:	e8 13 02 00 00       	call   0x5d8e53
5d8c40:	83 c4 14             	add    $0x14,%esp
5d8c43:	83 7d 38 08          	cmpl   $0x8,0x38(%ebp)
5d8c47:	8b 08                	mov    (%eax),%ecx
5d8c49:	8b 50 04             	mov    0x4(%eax),%edx
5d8c4c:	8d 45 24             	lea    0x24(%ebp),%eax
5d8c4f:	89 4d 0c             	mov    %ecx,0xc(%ebp)
5d8c52:	89 55 10             	mov    %edx,0x10(%ebp)
5d8c55:	72 03                	jb     0x5d8c5a
5d8c57:	8b 45 24             	mov    0x24(%ebp),%eax
5d8c5a:	ff 75 34             	push   0x34(%ebp)
5d8c5d:	50                   	push   %eax
5d8c5e:	52                   	push   %edx
5d8c5f:	51                   	push   %ecx
5d8c60:	8d 85 3c ff ff ff    	lea    -0xc4(%ebp),%eax
5d8c66:	e9 84 00 00 00       	jmp    0x5d8cef
5d8c6b:	8b 45 34             	mov    0x34(%ebp),%eax
5d8c6e:	2b c7                	sub    %edi,%eax
5d8c70:	83 7d 38 08          	cmpl   $0x8,0x38(%ebp)
5d8c74:	8d 7d 24             	lea    0x24(%ebp),%edi
5d8c77:	89 bd 60 ff ff ff    	mov    %edi,-0xa0(%ebp)
5d8c7d:	8b bd 7c ff ff ff    	mov    -0x84(%ebp),%edi
5d8c83:	72 0f                	jb     0x5d8c94
5d8c85:	8b 7d 24             	mov    0x24(%ebp),%edi
5d8c88:	89 bd 60 ff ff ff    	mov    %edi,-0xa0(%ebp)
5d8c8e:	8b bd 7c ff ff ff    	mov    -0x84(%ebp),%edi
5d8c94:	50                   	push   %eax
5d8c95:	ff b5 60 ff ff ff    	push   -0xa0(%ebp)
5d8c9b:	8d 85 34 ff ff ff    	lea    -0xcc(%ebp),%eax
5d8ca1:	52                   	push   %edx
5d8ca2:	51                   	push   %ecx
5d8ca3:	50                   	push   %eax
5d8ca4:	e8 e8 f5 ff ff       	call   0x5d8291
5d8ca9:	8b c8                	mov    %eax,%ecx
5d8cab:	83 c4 14             	add    $0x14,%esp
5d8cae:	8b 01                	mov    (%ecx),%eax
5d8cb0:	89 45 0c             	mov    %eax,0xc(%ebp)
5d8cb3:	8b 41 04             	mov    0x4(%ecx),%eax
5d8cb6:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
5d8cb9:	89 45 10             	mov    %eax,0x10(%ebp)
5d8cbc:	e8 2b 04 00 00       	call   0x5d90ec
5d8cc1:	0f b7 c0             	movzwl %ax,%eax
5d8cc4:	8d 4d 0c             	lea    0xc(%ebp),%ecx
5d8cc7:	50                   	push   %eax
5d8cc8:	e8 e3 7c e6 ff       	call   0x4409b0
5d8ccd:	83 7d 38 08          	cmpl   $0x8,0x38(%ebp)
5d8cd1:	8d 4d 24             	lea    0x24(%ebp),%ecx
5d8cd4:	72 03                	jb     0x5d8cd9
5d8cd6:	8b 4d 24             	mov    0x24(%ebp),%ecx
5d8cd9:	8b 45 34             	mov    0x34(%ebp),%eax
5d8cdc:	2b c7                	sub    %edi,%eax
5d8cde:	57                   	push   %edi
5d8cdf:	8d 04 41             	lea    (%ecx,%eax,2),%eax
5d8ce2:	50                   	push   %eax
5d8ce3:	ff 75 10             	push   0x10(%ebp)
5d8ce6:	8d 85 2c ff ff ff    	lea    -0xd4(%ebp),%eax
5d8cec:	ff 75 0c             	push   0xc(%ebp)
5d8cef:	50                   	push   %eax
5d8cf0:	e8 9c f5 ff ff       	call   0x5d8291
5d8cf5:	83 c4 14             	add    $0x14,%esp
5d8cf8:	e9 87 00 00 00       	jmp    0x5d8d84
5d8cfd:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
5d8d01:	0f 86 88 00 00 00    	jbe    0x5d8d8f
5d8d07:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
5d8d0b:	8d 45 d8             	lea    -0x28(%ebp),%eax
5d8d0e:	72 03                	jb     0x5d8d13
5d8d10:	8b 45 d8             	mov    -0x28(%ebp),%eax
5d8d13:	6a 01                	push   $0x1
5d8d15:	50                   	push   %eax
5d8d16:	52                   	push   %edx
5d8d17:	51                   	push   %ecx
5d8d18:	8d 85 24 ff ff ff    	lea    -0xdc(%ebp),%eax
5d8d1e:	eb cf                	jmp    0x5d8cef
5d8d20:	83 7d bc 08          	cmpl   $0x8,-0x44(%ebp)
5d8d24:	8d 45 a8             	lea    -0x58(%ebp),%eax
5d8d27:	72 03                	jb     0x5d8d2c
5d8d29:	8b 45 a8             	mov    -0x58(%ebp),%eax
5d8d2c:	ff 75 b8             	push   -0x48(%ebp)
5d8d2f:	50                   	push   %eax
5d8d30:	52                   	push   %edx
5d8d31:	51                   	push   %ecx
5d8d32:	8d 85 1c ff ff ff    	lea    -0xe4(%ebp),%eax
5d8d38:	eb b5                	jmp    0x5d8cef
5d8d3a:	6a 01                	push   $0x1
5d8d3c:	ff b5 78 ff ff ff    	push   -0x88(%ebp)
5d8d42:	8d 85 14 ff ff ff    	lea    -0xec(%ebp),%eax
5d8d48:	52                   	push   %edx
5d8d49:	51                   	push   %ecx
5d8d4a:	50                   	push   %eax
5d8d4b:	e8 03 01 00 00       	call   0x5d8e53
5d8d50:	83 c4 14             	add    $0x14,%esp
5d8d53:	8b 08                	mov    (%eax),%ecx
5d8d55:	89 4d 0c             	mov    %ecx,0xc(%ebp)
5d8d58:	8b 50 04             	mov    0x4(%eax),%edx
5d8d5b:	89 55 10             	mov    %edx,0x10(%ebp)
5d8d5e:	81 bd 68 ff ff ff 00 	cmpl   $0x100,-0x98(%ebp)
5d8d65:	01 00 00
5d8d68:	75 25                	jne    0x5d8d8f
5d8d6a:	56                   	push   %esi
5d8d6b:	ff b5 78 ff ff ff    	push   -0x88(%ebp)
5d8d71:	8d 85 54 ff ff ff    	lea    -0xac(%ebp),%eax
5d8d77:	52                   	push   %edx
5d8d78:	51                   	push   %ecx
5d8d79:	50                   	push   %eax
5d8d7a:	e8 d4 00 00 00       	call   0x5d8e53
5d8d7f:	83 c4 14             	add    $0x14,%esp
5d8d82:	33 f6                	xor    %esi,%esi
5d8d84:	8b 08                	mov    (%eax),%ecx
5d8d86:	89 4d 0c             	mov    %ecx,0xc(%ebp)