5d7ba6:	8b 46 08             	mov    0x8(%esi),%eax
5d7ba9:	83 c0 18             	add    $0x18,%eax
5d7bac:	c6 40 04 01          	movb   $0x1,0x4(%eax)
5d7bb0:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5d7bb6:	ff 76 08             	push   0x8(%esi)
5d7bb9:	53                   	push   %ebx
5d7bba:	53                   	push   %ebx
5d7bbb:	53                   	push   %ebx
5d7bbc:	53                   	push   %ebx
5d7bbd:	53                   	push   %ebx
5d7bbe:	e8 a0 e5 ff ff       	call   0x5d6163
5d7bc3:	83 c4 18             	add    $0x18,%esp
5d7bc6:	32 c0                	xor    %al,%al
5d7bc8:	e9 28 01 00 00       	jmp    0x5d7cf5
5d7bcd:	8b 4e 10             	mov    0x10(%esi),%ecx
5d7bd0:	8b 7e 1c             	mov    0x1c(%esi),%edi
5d7bd3:	8b c7                	mov    %edi,%eax
5d7bd5:	c1 e8 04             	shr    $0x4,%eax
5d7bd8:	a8 01                	test   $0x1,%al
5d7bda:	8d 41 08             	lea    0x8(%ecx),%eax
5d7bdd:	89 46 10             	mov    %eax,0x10(%esi)
5d7be0:	8b 01                	mov    (%ecx),%eax
5d7be2:	8b 51 04             	mov    0x4(%ecx),%edx
5d7be5:	eb 66                	jmp    0x5d7c4d
5d7be7:	8b 7e 1c             	mov    0x1c(%esi),%edi
5d7bea:	8b c7                	mov    %edi,%eax
5d7bec:	c1 e8 04             	shr    $0x4,%eax
5d7bef:	a8 01                	test   $0x1,%al
5d7bf1:	74 0d                	je     0x5d7c00
5d7bf3:	8b 46 10             	mov    0x10(%esi),%eax
5d7bf6:	8d 48 04             	lea    0x4(%eax),%ecx
5d7bf9:	89 4e 10             	mov    %ecx,0x10(%esi)
5d7bfc:	8b 00                	mov    (%eax),%eax
5d7bfe:	eb 4c                	jmp    0x5d7c4c
5d7c00:	8b 4e 10             	mov    0x10(%esi),%ecx
5d7c03:	89 5d f8             	mov    %ebx,-0x8(%ebp)
5d7c06:	8d 41 04             	lea    0x4(%ecx),%eax
5d7c09:	89 46 10             	mov    %eax,0x10(%esi)
5d7c0c:	8b 01                	mov    (%ecx),%eax
5d7c0e:	eb 40                	jmp    0x5d7c50
5d7c10:	8b 7e 1c             	mov    0x1c(%esi),%edi
5d7c13:	8b c7                	mov    %edi,%eax
5d7c15:	8b 4e 10             	mov    0x10(%esi),%ecx
5d7c18:	c1 e8 04             	shr    $0x4,%eax
5d7c1b:	a8 01                	test   $0x1,%al
5d7c1d:	8d 41 04             	lea    0x4(%ecx),%eax
5d7c20:	89 46 10             	mov    %eax,0x10(%esi)
5d7c23:	74 05                	je     0x5d7c2a
5d7c25:	0f bf 01             	movswl (%ecx),%eax
5d7c28:	eb 22                	jmp    0x5d7c4c
5d7c2a:	0f b7 01             	movzwl (%ecx),%eax
5d7c2d:	eb 1d                	jmp    0x5d7c4c
5d7c2f:	8b 7e 1c             	mov    0x1c(%esi),%edi
5d7c32:	8b c7                	mov    %edi,%eax
5d7c34:	8b 4e 10             	mov    0x10(%esi),%ecx
5d7c37:	c1 e8 04             	shr    $0x4,%eax
5d7c3a:	a8 01                	test   $0x1,%al
5d7c3c:	8d 41 04             	lea    0x4(%ecx),%eax
5d7c3f:	89 46 10             	mov    %eax,0x10(%esi)
5d7c42:	74 05                	je     0x5d7c49
5d7c44:	0f be 01             	movsbl (%ecx),%eax
5d7c47:	eb 03                	jmp    0x5d7c4c
5d7c49:	0f b6 01             	movzbl (%ecx),%eax
5d7c4c:	99                   	cltd
5d7c4d:	89 55 f8             	mov    %edx,-0x8(%ebp)
5d7c50:	8b 55 f8             	mov    -0x8(%ebp),%edx
5d7c53:	89 45 fc             	mov    %eax,-0x4(%ebp)
5d7c56:	8b c7                	mov    %edi,%eax
5d7c58:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5d7c5b:	c1 e8 04             	shr    $0x4,%eax
5d7c5e:	a8 01                	test   $0x1,%al
5d7c60:	74 16                	je     0x5d7c78
5d7c62:	3b d3                	cmp    %ebx,%edx
5d7c64:	7f 12                	jg     0x5d7c78
5d7c66:	7c 04                	jl     0x5d7c6c
5d7c68:	3b cb                	cmp    %ebx,%ecx
5d7c6a:	73 0c                	jae    0x5d7c78
5d7c6c:	f7 d9                	neg    %ecx
5d7c6e:	13 d3                	adc    %ebx,%edx
5d7c70:	f7 da                	neg    %edx
5d7c72:	83 cf 40             	or     $0x40,%edi
5d7c75:	89 7e 1c             	mov    %edi,0x1c(%esi)
5d7c78:	83 7e 24 00          	cmpl   $0x0,0x24(%esi)
5d7c7c:	89 55 f8             	mov    %edx,-0x8(%ebp)
5d7c7f:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5d7c82:	7d 09                	jge    0x5d7c8d
5d7c84:	c7 46 24 01 00 00 00 	movl   $0x1,0x24(%esi)
5d7c8b:	eb 1a                	jmp    0x5d7ca7
5d7c8d:	ff 76 08             	push   0x8(%esi)
5d7c90:	83 e7 f7             	and    $0xfffffff7,%edi
5d7c93:	8d 4e 3c             	lea    0x3c(%esi),%ecx
5d7c96:	ff 76 24             	push   0x24(%esi)
5d7c99:	89 7e 1c             	mov    %edi,0x1c(%esi)
5d7c9c:	e8 bf ee ff ff       	call   0x5d6b60
5d7ca1:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5d7ca4:	8b 55 f8             	mov    -0x8(%ebp),%edx
5d7ca7:	8b c1                	mov    %ecx,%eax
5d7ca9:	0b c2                	or     %edx,%eax
5d7cab:	75 04                	jne    0x5d7cb1
5d7cad:	83 66 1c df          	andl   $0xffffffdf,0x1c(%esi)
5d7cb1:	83 7d f4 08          	cmpl   $0x8,-0xc(%ebp)
5d7cb5:	ff 75 08             	push   0x8(%ebp)
5d7cb8:	88 5e 38             	mov    %bl,0x38(%esi)
5d7cbb:	75 0b                	jne    0x5d7cc8
5d7cbd:	52                   	push   %edx
5d7cbe:	51                   	push   %ecx
5d7cbf:	8b ce                	mov    %esi,%ecx
5d7cc1:	e8 2b 07 00 00       	call   0x5d83f1
5d7cc6:	eb 08                	jmp    0x5d7cd0
5d7cc8:	51                   	push   %ecx
5d7cc9:	8b ce                	mov    %esi,%ecx
5d7ccb:	e8 b7 03 00 00       	call   0x5d8087
5d7cd0:	8b 46 1c             	mov    0x1c(%esi),%eax
5d7cd3:	c1 e8 07             	shr    $0x7,%eax
5d7cd6:	a8 01                	test   $0x1,%al
5d7cd8:	74 19                	je     0x5d7cf3
5d7cda:	39 5e 34             	cmp    %ebx,0x34(%esi)
5d7cdd:	74 08                	je     0x5d7ce7
5d7cdf:	8b 46 30             	mov    0x30(%esi),%eax
5d7ce2:	80 38 30             	cmpb   $0x30,(%eax)
5d7ce5:	74 0c                	je     0x5d7cf3
5d7ce7:	ff 4e 30             	decl   0x30(%esi)
5d7cea:	8b 4e 30             	mov    0x30(%esi),%ecx
5d7ced:	c6 01 30             	movb   $0x30,(%ecx)
5d7cf0:	ff 46 34             	incl   0x34(%esi)
5d7cf3:	b0 01                	mov    $0x1,%al
5d7cf5:	5f                   	pop    %edi
5d7cf6:	5e                   	pop    %esi
5d7cf7:	5b                   	pop    %ebx
5d7cf8:	c9                   	leave
5d7cf9:	c2 04 00             	ret    $0x4
5d7cfc:	8b ff                	mov    %edi,%edi
5d7cfe:	55                   	push   %ebp
5d7cff:	8b ec                	mov    %esp,%ebp
5d7d01:	83 ec 0c             	sub    $0xc,%esp
5d7d04:	53                   	push   %ebx
5d7d05:	56                   	push   %esi
5d7d06:	8b f1                	mov    %ecx,%esi
5d7d08:	57                   	push   %edi
5d7d09:	ff 76 28             	push   0x28(%esi)
5d7d0c:	e8 61 22 00 00       	call   0x5d9f72
5d7d11:	59                   	pop    %ecx
5d7d12:	8b c8                	mov    %eax,%ecx
5d7d14:	89 45 f4             	mov    %eax,-0xc(%ebp)
5d7d17:	6a 00                	push   $0x0
5d7d19:	5b                   	pop    %ebx
5d7d1a:	83 e9 01             	sub    $0x1,%ecx
5d7d1d:	0f 84 99 00 00 00    	je     0x5d7dbc
5d7d23:	83 e9 01             	sub    $0x1,%ecx
5d7d26:	74 75                	je     0x5d7d9d
5d7d28:	49                   	dec    %ecx
5d7d29:	83 e9 01             	sub    $0x1,%ecx
5d7d2c:	74 46                	je     0x5d7d74
5d7d2e:	83 e9 04             	sub    $0x4,%ecx
5d7d31:	74 27                	je     0x5d7d5a
5d7d33:	8b 46 08             	mov    0x8(%esi),%eax
5d7d36:	83 c0 18             	add    $0x18,%eax
5d7d39:	c6 40 04 01          	movb   $0x1,0x4(%eax)
5d7d3d:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5d7d43:	ff 76 08             	push   0x8(%esi)
5d7d46:	53                   	push   %ebx
5d7d47:	53                   	push   %ebx
5d7d48:	53                   	push   %ebx
5d7d49:	53                   	push   %ebx
5d7d4a:	53                   	push   %ebx
5d7d4b:	e8 13 e4 ff ff       	call   0x5d6163
5d7d50:	83 c4 18             	add    $0x18,%esp
5d7d53:	32 c0                	xor    %al,%al
5d7d55:	e9 2d 01 00 00       	jmp    0x5d7e87
5d7d5a:	8b 4e 10             	mov    0x10(%esi),%ecx
5d7d5d:	8b 7e 1c             	mov    0x1c(%esi),%edi
5d7d60:	8b c7                	mov    %edi,%eax
5d7d62:	c1 e8 04             	shr    $0x4,%eax
5d7d65:	a8 01                	test   $0x1,%al
5d7d67:	8d 41 08             	lea    0x8(%ecx),%eax
5d7d6a:	89 46 10             	mov    %eax,0x10(%esi)
5d7d6d:	8b 01                	mov    (%ecx),%eax
5d7d6f:	8b 51 04             	mov    0x4(%ecx),%edx
5d7d72:	eb 66                	jmp    0x5d7dda
5d7d74:	8b 7e 1c             	mov    0x1c(%esi),%edi
5d7d77:	8b c7                	mov    %edi,%eax
5d7d79:	c1 e8 04             	shr    $0x4,%eax
5d7d7c:	a8 01                	test   $0x1,%al
5d7d7e:	74 0d                	je     0x5d7d8d
5d7d80:	8b 46 10             	mov    0x10(%esi),%eax
5d7d83:	8d 48 04             	lea    0x4(%eax),%ecx
5d7d86:	89 4e 10             	mov    %ecx,0x10(%esi)
5d7d89:	8b 00                	mov    (%eax),%eax
5d7d8b:	eb 4c                	jmp    0x5d7dd9
5d7d8d:	8b 4e 10             	mov    0x10(%esi),%ecx
5d7d90:	89 5d f8             	mov    %ebx,-0x8(%ebp)
5d7d93:	8d 41 04             	lea    0x4(%ecx),%eax
5d7d96:	89 46 10             	mov    %eax,0x10(%esi)
5d7d99:	8b 01                	mov    (%ecx),%eax
5d7d9b:	eb 40                	jmp    0x5d7ddd
5d7d9d:	8b 7e 1c             	mov    0x1c(%esi),%edi
5d7da0:	8b c7                	mov    %edi,%eax
5d7da2:	8b 4e 10             	mov    0x10(%esi),%ecx
5d7da5:	c1 e8 04             	shr    $0x4,%eax
5d7da8:	a8 01                	test   $0x1,%al
5d7daa:	8d 41 04             	lea    0x4(%ecx),%eax
5d7dad:	89 46 10             	mov    %eax,0x10(%esi)
5d7db0:	74 05                	je     0x5d7db7
5d7db2:	0f bf 01             	movswl (%ecx),%eax
5d7db5:	eb 22                	jmp    0x5d7dd9
5d7db7:	0f b7 01             	movzwl (%ecx),%eax
5d7dba:	eb 1d                	jmp    0x5d7dd9
5d7dbc:	8b 7e 1c             	mov    0x1c(%esi),%edi
5d7dbf:	8b c7                	mov    %edi,%eax
5d7dc1:	8b 4e 10             	mov    0x10(%esi),%ecx
5d7dc4:	c1 e8 04             	shr    $0x4,%eax
5d7dc7:	a8 01                	test   $0x1,%al
5d7dc9:	8d 41 04             	lea    0x4(%ecx),%eax
5d7dcc:	89 46 10             	mov    %eax,0x10(%esi)
5d7dcf:	74 05                	je     0x5d7dd6
5d7dd1:	0f be 01             	movsbl (%ecx),%eax
5d7dd4:	eb 03                	jmp    0x5d7dd9
5d7dd6:	0f b6 01             	movzbl (%ecx),%eax
5d7dd9:	99                   	cltd
5d7dda:	89 55 f8             	mov    %edx,-0x8(%ebp)
5d7ddd:	8b 55 f8             	mov    -0x8(%ebp),%edx
5d7de0:	89 45 fc             	mov    %eax,-0x4(%ebp)
5d7de3:	8b c7                	mov    %edi,%eax
5d7de5:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5d7de8:	c1 e8 04             	shr    $0x4,%eax
5d7deb:	a8 01                	test   $0x1,%al
5d7ded:	74 16                	je     0x5d7e05
5d7def:	3b d3                	cmp    %ebx,%edx
5d7df1:	7f 12                	jg     0x5d7e05
5d7df3:	7c 04                	jl     0x5d7df9
5d7df5:	3b cb                	cmp    %ebx,%ecx
5d7df7:	73 0c                	jae    0x5d7e05
5d7df9:	f7 d9                	neg    %ecx
5d7dfb:	13 d3                	adc    %ebx,%edx
5d7dfd:	f7 da                	neg    %edx
5d7dff:	83 cf 40             	or     $0x40,%edi
5d7e02:	89 7e 1c             	mov    %edi,0x1c(%esi)
5d7e05:	83 7e 24 00          	cmpl   $0x0,0x24(%esi)
5d7e09:	89 55 f8             	mov    %edx,-0x8(%ebp)
5d7e0c:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5d7e0f:	7d 09                	jge    0x5d7e1a
5d7e11:	c7 46 24 01 00 00 00 	movl   $0x1,0x24(%esi)
5d7e18:	eb 1a                	jmp    0x5d7e34
5d7e1a:	ff 76 08             	push   0x8(%esi)
5d7e1d:	83 e7 f7             	and    $0xfffffff7,%edi
5d7e20:	8d 4e 3c             	lea    0x3c(%esi),%ecx
5d7e23:	ff 76 24             	push   0x24(%esi)
5d7e26:	89 7e 1c             	mov    %edi,0x1c(%esi)
5d7e29:	e8 b3 ed ff ff       	call   0x5d6be1
5d7e2e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5d7e31:	8b 55 f8             	mov    -0x8(%ebp),%edx
5d7e34:	8b c1                	mov    %ecx,%eax
5d7e36:	0b c2                	or     %edx,%eax
5d7e38:	75 04                	jne    0x5d7e3e
5d7e3a:	83 66 1c df          	andl   $0xffffffdf,0x1c(%esi)
5d7e3e:	83 7d f4 08          	cmpl   $0x8,-0xc(%ebp)
5d7e42:	ff 75 08             	push   0x8(%ebp)
5d7e45:	c6 46 38 01          	movb   $0x1,0x38(%esi)
5d7e49:	75 0b                	jne    0x5d7e56
5d7e4b:	52                   	push   %edx
5d7e4c:	51                   	push   %ecx
5d7e4d:	8b ce                	mov    %esi,%ecx
5d7e4f:	e8 27 06 00 00       	call   0x5d847b
5d7e54:	eb 08                	jmp    0x5d7e5e
5d7e56:	51                   	push   %ecx
5d7e57:	8b ce                	mov    %esi,%ecx
5d7e59:	e8 a6 02 00 00       	call   0x5d8104
5d7e5e:	8b 46 1c             	mov    0x1c(%esi),%eax
5d7e61:	c1 e8 07             	shr    $0x7,%eax
5d7e64:	a8 01                	test   $0x1,%al
5d7e66:	74 1d                	je     0x5d7e85
5d7e68:	6a 30                	push   $0x30
5d7e6a:	5a                   	pop    %edx
5d7e6b:	39 5e 34             	cmp    %ebx,0x34(%esi)
5d7e6e:	74 08                	je     0x5d7e78
5d7e70:	8b 46 30             	mov    0x30(%esi),%eax
5d7e73:	66 39 10             	cmp    %dx,(%eax)
5d7e76:	74 0d                	je     0x5d7e85
5d7e78:	83 46 30 fe          	addl   $0xfffffffe,0x30(%esi)
5d7e7c:	8b 4e 30             	mov    0x30(%esi),%ecx
5d7e7f:	66 89 11             	mov    %dx,(%ecx)
5d7e82:	ff 46 34             	incl   0x34(%esi)
5d7e85:	b0 01                	mov    $0x1,%al
5d7e87:	5f                   	pop    %edi
5d7e88:	5e                   	pop    %esi
5d7e89:	5b                   	pop    %ebx
5d7e8a:	c9                   	leave
5d7e8b:	c2 04 00             	ret    $0x4
5d7e8e:	8b ff                	mov    %edi,%edi
5d7e90:	55                   	push   %ebp
5d7e91:	8b ec                	mov    %esp,%ebp
5d7e93:	53                   	push   %ebx
5d7e94:	56                   	push   %esi
5d7e95:	8b f1                	mov    %ecx,%esi
5d7e97:	57                   	push   %edi
5d7e98:	8d 4e 3c             	lea    0x3c(%esi),%ecx
5d7e9b:	8b b9 04 04 00 00    	mov    0x404(%ecx),%edi
5d7ea1:	85 ff                	test   %edi,%edi
5d7ea3:	75 02                	jne    0x5d7ea7
5d7ea5:	8b f9                	mov    %ecx,%edi
5d7ea7:	e8 83 ec ff ff       	call   0x5d6b2f
5d7eac:	8b 55 08             	mov    0x8(%ebp),%edx
5d7eaf:	8d 48 ff             	lea    -0x1(%eax),%ecx
5d7eb2:	03 cf                	add    %edi,%ecx
5d7eb4:	89 4e 30             	mov    %ecx,0x30(%esi)
5d7eb7:	8b c1                	mov    %ecx,%eax
5d7eb9:	8b d9                	mov    %ecx,%ebx
5d7ebb:	8b 7e 24             	mov    0x24(%esi),%edi
5d7ebe:	85 ff                	test   %edi,%edi
5d7ec0:	7f 04                	jg     0x5d7ec6
5d7ec2:	85 d2                	test   %edx,%edx
5d7ec4:	74 1b                	je     0x5d7ee1
5d7ec6:	8d 47 ff             	lea    -0x1(%edi),%eax
5d7ec9:	89 46 24             	mov    %eax,0x24(%esi)
5d7ecc:	8a c2                	mov    %dl,%al
5d7ece:	24 07                	and    $0x7,%al
5d7ed0:	c1 ea 03             	shr    $0x3,%edx
5d7ed3:	04 30                	add    $0x30,%al
5d7ed5:	88 03                	mov    %al,(%ebx)
5d7ed7:	ff 4e 30             	decl   0x30(%esi)
5d7eda:	8b 46 30             	mov    0x30(%esi),%eax
5d7edd:	8b d8                	mov    %eax,%ebx
5d7edf:	eb da                	jmp    0x5d7ebb
5d7ee1:	2b c8                	sub    %eax,%ecx
5d7ee3:	40                   	inc    %eax
5d7ee4:	89 4e 34             	mov    %ecx,0x34(%esi)
5d7ee7:	5f                   	pop    %edi
5d7ee8:	89 46 30             	mov    %eax,0x30(%esi)
5d7eeb:	5e                   	pop    %esi
5d7eec:	5b                   	pop    %ebx
5d7eed:	5d                   	pop    %ebp
5d7eee:	c2 08 00             	ret    $0x8
5d7ef1:	8b ff                	mov    %edi,%edi
5d7ef3:	55                   	push   %ebp
5d7ef4:	8b ec                	mov    %esp,%ebp
5d7ef6:	51                   	push   %ecx
5d7ef7:	51                   	push   %ecx
5d7ef8:	53                   	push   %ebx
5d7ef9:	56                   	push   %esi
5d7efa:	8b f1                	mov    %ecx,%esi
5d7efc:	57                   	push   %edi
5d7efd:	8d 4e 3c             	lea    0x3c(%esi),%ecx
5d7f00:	8b b9 04 04 00 00    	mov    0x404(%ecx),%edi
5d7f06:	85 ff                	test   %edi,%edi
5d7f08:	75 02                	jne    0x5d7f0c
5d7f0a:	8b f9                	mov    %ecx,%edi
5d7f0c:	e8 36 ec ff ff       	call   0x5d6b47
5d7f11:	8b 55 08             	mov    0x8(%ebp),%edx
5d7f14:	48                   	dec    %eax
5d7f15:	8d 0c 47             	lea    (%edi,%eax,2),%ecx