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)
5d8d89:	8b 50 04             	mov    0x4(%eax),%edx
5d8d8c:	89 55 10             	mov    %edx,0x10(%ebp)
5d8d8f:	8b 45 84             	mov    -0x7c(%ebp),%eax
5d8d92:	40                   	inc    %eax
5d8d93:	89 45 84             	mov    %eax,-0x7c(%ebp)
5d8d96:	83 f8 04             	cmp    $0x4,%eax
5d8d99:	0f 82 04 fe ff ff    	jb     0x5d8ba3
5d8d9f:	8b 45 e8             	mov    -0x18(%ebp),%eax
5d8da2:	83 f8 01             	cmp    $0x1,%eax
5d8da5:	76 30                	jbe    0x5d8dd7
5d8da7:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
5d8dab:	8d 78 ff             	lea    -0x1(%eax),%edi
5d8dae:	8d 45 d8             	lea    -0x28(%ebp),%eax
5d8db1:	72 03                	jb     0x5d8db6
5d8db3:	8b 45 d8             	mov    -0x28(%ebp),%eax
5d8db6:	57                   	push   %edi
5d8db7:	83 c0 02             	add    $0x2,%eax
5d8dba:	50                   	push   %eax
5d8dbb:	52                   	push   %edx
5d8dbc:	51                   	push   %ecx
5d8dbd:	8d 85 54 ff ff ff    	lea    -0xac(%ebp),%eax
5d8dc3:	50                   	push   %eax
5d8dc4:	e8 c8 f4 ff ff       	call   0x5d8291
5d8dc9:	83 c4 14             	add    $0x14,%esp
5d8dcc:	8b 08                	mov    (%eax),%ecx
5d8dce:	89 4d 0c             	mov    %ecx,0xc(%ebp)
5d8dd1:	8b 50 04             	mov    0x4(%eax),%edx
5d8dd4:	89 55 10             	mov    %edx,0x10(%ebp)
5d8dd7:	8b 85 6c ff ff ff    	mov    -0x94(%ebp),%eax
5d8ddd:	56                   	push   %esi
5d8dde:	ff b5 78 ff ff ff    	push   -0x88(%ebp)
5d8de4:	8b b5 5c ff ff ff    	mov    -0xa4(%ebp),%esi
5d8dea:	83 60 20 00          	andl   $0x0,0x20(%eax)
5d8dee:	83 60 24 00          	andl   $0x0,0x24(%eax)
5d8df2:	52                   	push   %edx
5d8df3:	51                   	push   %ecx
5d8df4:	56                   	push   %esi
5d8df5:	e8 59 00 00 00       	call   0x5d8e53
5d8dfa:	83 c4 14             	add    $0x14,%esp
5d8dfd:	8d 4d a8             	lea    -0x58(%ebp),%ecx
5d8e00:	e8 cb c1 e6 ff       	call   0x444fd0
5d8e05:	8d 4d d8             	lea    -0x28(%ebp),%ecx
5d8e08:	e8 c3 c1 e6 ff       	call   0x444fd0
5d8e0d:	8d 4d c0             	lea    -0x40(%ebp),%ecx
5d8e10:	e8 6b c1 e6 ff       	call   0x444f80
5d8e15:	8d 4d 24             	lea    0x24(%ebp),%ecx
5d8e18:	e8 b3 c1 e6 ff       	call   0x444fd0
5d8e1d:	8b c6                	mov    %esi,%eax
5d8e1f:	e8 86 91 00 00       	call   0x5e1faa
5d8e24:	c2 38 00             	ret    $0x38
5d8e27:	55                   	push   %ebp
5d8e28:	8b ec                	mov    %esp,%ebp
5d8e2a:	56                   	push   %esi
5d8e2b:	8b 75 18             	mov    0x18(%ebp),%esi
5d8e2e:	85 f6                	test   %esi,%esi
5d8e30:	74 10                	je     0x5d8e42
5d8e32:	ff 75 14             	push   0x14(%ebp)
5d8e35:	8d 4d 0c             	lea    0xc(%ebp),%ecx
5d8e38:	e8 65 91 ff ff       	call   0x5d1fa2
5d8e3d:	83 ee 01             	sub    $0x1,%esi
5d8e40:	75 f0                	jne    0x5d8e32
5d8e42:	8b 45 08             	mov    0x8(%ebp),%eax
5d8e45:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5d8e48:	5e                   	pop    %esi
5d8e49:	89 08                	mov    %ecx,(%eax)
5d8e4b:	8b 4d 10             	mov    0x10(%ebp),%ecx
5d8e4e:	89 48 04             	mov    %ecx,0x4(%eax)
5d8e51:	5d                   	pop    %ebp
5d8e52:	c3                   	ret
5d8e53:	55                   	push   %ebp
5d8e54:	8b ec                	mov    %esp,%ebp
5d8e56:	56                   	push   %esi
5d8e57:	8b 75 18             	mov    0x18(%ebp),%esi
5d8e5a:	85 f6                	test   %esi,%esi
5d8e5c:	74 10                	je     0x5d8e6e
5d8e5e:	ff 75 14             	push   0x14(%ebp)
5d8e61:	8d 4d 0c             	lea    0xc(%ebp),%ecx
5d8e64:	e8 47 7b e6 ff       	call   0x4409b0
5d8e69:	83 ee 01             	sub    $0x1,%esi
5d8e6c:	75 f0                	jne    0x5d8e5e
5d8e6e:	8b 45 08             	mov    0x8(%ebp),%eax
5d8e71:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5d8e74:	5e                   	pop    %esi
5d8e75:	89 08                	mov    %ecx,(%eax)
5d8e77:	8b 4d 10             	mov    0x10(%ebp),%ecx
5d8e7a:	89 48 04             	mov    %ecx,0x4(%eax)
5d8e7d:	5d                   	pop    %ebp
5d8e7e:	c3                   	ret
5d8e7f:	55                   	push   %ebp
5d8e80:	8b ec                	mov    %esp,%ebp
5d8e82:	56                   	push   %esi
5d8e83:	8b 75 1c             	mov    0x1c(%ebp),%esi
5d8e86:	85 f6                	test   %esi,%esi
5d8e88:	74 10                	je     0x5d8e9a
5d8e8a:	ff 75 18             	push   0x18(%ebp)
5d8e8d:	8d 4d 10             	lea    0x10(%ebp),%ecx
5d8e90:	e8 0d 91 ff ff       	call   0x5d1fa2
5d8e95:	83 ee 01             	sub    $0x1,%esi
5d8e98:	75 f0                	jne    0x5d8e8a
5d8e9a:	8b 45 0c             	mov    0xc(%ebp),%eax
5d8e9d:	8b 4d 10             	mov    0x10(%ebp),%ecx
5d8ea0:	5e                   	pop    %esi
5d8ea1:	89 08                	mov    %ecx,(%eax)
5d8ea3:	8b 4d 14             	mov    0x14(%ebp),%ecx
5d8ea6:	89 48 04             	mov    %ecx,0x4(%eax)
5d8ea9:	5d                   	pop    %ebp
5d8eaa:	c3                   	ret
5d8eab:	56                   	push   %esi
5d8eac:	8b f1                	mov    %ecx,%esi
5d8eae:	ff 76 08             	push   0x8(%esi)
5d8eb1:	e8 ba 57 01 00       	call   0x5ee670
5d8eb6:	ff 76 10             	push   0x10(%esi)
5d8eb9:	e8 b2 57 01 00       	call   0x5ee670
5d8ebe:	ff 76 14             	push   0x14(%esi)
5d8ec1:	e8 aa 57 01 00       	call   0x5ee670
5d8ec6:	ff 76 18             	push   0x18(%esi)
5d8ec9:	e8 a2 57 01 00       	call   0x5ee670
5d8ece:	83 c4 10             	add    $0x10,%esp
5d8ed1:	5e                   	pop    %esi
5d8ed2:	c3                   	ret
5d8ed3:	56                   	push   %esi
5d8ed4:	8b f1                	mov    %ecx,%esi
5d8ed6:	ff 76 08             	push   0x8(%esi)
5d8ed9:	e8 92 57 01 00       	call   0x5ee670
5d8ede:	ff 76 0c             	push   0xc(%esi)
5d8ee1:	e8 8a 57 01 00       	call   0x5ee670
5d8ee6:	ff 76 10             	push   0x10(%esi)
5d8ee9:	e8 82 57 01 00       	call   0x5ee670
5d8eee:	83 c4 0c             	add    $0xc,%esp
5d8ef1:	5e                   	pop    %esi
5d8ef2:	c3                   	ret
5d8ef3:	56                   	push   %esi
5d8ef4:	8b f1                	mov    %ecx,%esi
5d8ef6:	8b 46 14             	mov    0x14(%esi),%eax
5d8ef9:	83 f8 08             	cmp    $0x8,%eax
5d8efc:	72 11                	jb     0x5d8f0f
5d8efe:	8d 04 45 02 00 00 00 	lea    0x2(,%eax,2),%eax
5d8f05:	50                   	push   %eax
5d8f06:	ff 36                	push   (%esi)
5d8f08:	e8 63 b3 e6 ff       	call   0x444270
5d8f0d:	59                   	pop    %ecx
5d8f0e:	59                   	pop    %ecx
5d8f0f:	83 66 10 00          	andl   $0x0,0x10(%esi)
5d8f13:	33 c0                	xor    %eax,%eax
5d8f15:	c7 46 14 07 00 00 00 	movl   $0x7,0x14(%esi)
5d8f1c:	66 89 06             	mov    %ax,(%esi)
5d8f1f:	5e                   	pop    %esi
5d8f20:	c3                   	ret
5d8f21:	56                   	push   %esi
5d8f22:	57                   	push   %edi
5d8f23:	8b f9                	mov    %ecx,%edi
5d8f25:	e8 62 4d 02 00       	call   0x5fdc8c
5d8f2a:	8b f0                	mov    %eax,%esi
5d8f2c:	85 f6                	test   %esi,%esi
5d8f2e:	74 10                	je     0x5d8f40
5d8f30:	56                   	push   %esi
5d8f31:	8d 4f 14             	lea    0x14(%edi),%ecx
5d8f34:	e8 0d 90 ff ff       	call   0x5d1f46
5d8f39:	56                   	push   %esi
5d8f3a:	e8 31 57 01 00       	call   0x5ee670
5d8f3f:	59                   	pop    %ecx
5d8f40:	8b 47 14             	mov    0x14(%edi),%eax
5d8f43:	5f                   	pop    %edi
5d8f44:	5e                   	pop    %esi
5d8f45:	85 c0                	test   %eax,%eax
5d8f47:	75 05                	jne    0x5d8f4e
5d8f49:	b8 80 fd 6c 00       	mov    $0x6cfd80,%eax
5d8f4e:	c3                   	ret
5d8f4f:	56                   	push   %esi
5d8f50:	57                   	push   %edi
5d8f51:	8b f9                	mov    %ecx,%edi
5d8f53:	e8 93 4e 02 00       	call   0x5fddeb
5d8f58:	8b f0                	mov    %eax,%esi
5d8f5a:	85 f6                	test   %esi,%esi
5d8f5c:	74 10                	je     0x5d8f6e