5b0b38:	84 c9                	test   %cl,%cl
5b0b3a:	74 10                	je     0x5b0b4c
5b0b3c:	c7 44 24 08 01 00 00 	movl   $0x1,0x8(%esp)
5b0b43:	00
5b0b44:	33 c0                	xor    %eax,%eax
5b0b46:	89 44 24 04          	mov    %eax,0x4(%esp)
5b0b4a:	eb 15                	jmp    0x5b0b61
5b0b4c:	c7 44 24 08 ff ff ff 	movl   $0xffffffff,0x8(%esp)
5b0b53:	ff
5b0b54:	8b 04 24             	mov    (%esp),%eax
5b0b57:	8b 10                	mov    (%eax),%edx
5b0b59:	ff 52 08             	call   *0x8(%edx)
5b0b5c:	48                   	dec    %eax
5b0b5d:	89 44 24 04          	mov    %eax,0x4(%esp)
5b0b61:	8b eb                	mov    %ebx,%ebp
5b0b63:	8b 04 24             	mov    (%esp),%eax
5b0b66:	8b 10                	mov    (%eax),%edx
5b0b68:	ff 52 08             	call   *0x8(%edx)
5b0b6b:	48                   	dec    %eax
5b0b6c:	85 c0                	test   %eax,%eax
5b0b6e:	7c 68                	jl     0x5b0bd8
5b0b70:	40                   	inc    %eax
5b0b71:	89 44 24 0c          	mov    %eax,0xc(%esp)
5b0b75:	8b 54 24 04          	mov    0x4(%esp),%edx
5b0b79:	8b 04 24             	mov    (%esp),%eax
5b0b7c:	8b 08                	mov    (%eax),%ecx
5b0b7e:	ff 11                	call   *(%ecx)
5b0b80:	8b f0                	mov    %eax,%esi
5b0b82:	33 ff                	xor    %edi,%edi
5b0b84:	eb 37                	jmp    0x5b0bbd
5b0b86:	8b dd                	mov    %ebp,%ebx
5b0b88:	56                   	push   %esi
5b0b89:	33 c9                	xor    %ecx,%ecx
5b0b8b:	8a 4b 01             	mov    0x1(%ebx),%cl
5b0b8e:	33 d2                	xor    %edx,%edx
5b0b90:	8a 53 03             	mov    0x3(%ebx),%dl
5b0b93:	33 c0                	xor    %eax,%eax
5b0b95:	8a 03                	mov    (%ebx),%al
5b0b97:	e8 90 fb ff ff       	call   0x5b072c
5b0b9c:	83 c6 03             	add    $0x3,%esi
5b0b9f:	56                   	push   %esi
5b0ba0:	33 c9                	xor    %ecx,%ecx
5b0ba2:	8a 4b 01             	mov    0x1(%ebx),%cl
5b0ba5:	33 d2                	xor    %edx,%edx
5b0ba7:	8a 53 03             	mov    0x3(%ebx),%dl
5b0baa:	33 c0                	xor    %eax,%eax
5b0bac:	8a 43 02             	mov    0x2(%ebx),%al
5b0baf:	e8 78 fb ff ff       	call   0x5b072c
5b0bb4:	83 c6 03             	add    $0x3,%esi
5b0bb7:	83 c7 02             	add    $0x2,%edi
5b0bba:	83 c5 04             	add    $0x4,%ebp
5b0bbd:	8b 04 24             	mov    (%esp),%eax
5b0bc0:	8b 10                	mov    (%eax),%edx
5b0bc2:	ff 52 0c             	call   *0xc(%edx)
5b0bc5:	48                   	dec    %eax
5b0bc6:	3b f8                	cmp    %eax,%edi
5b0bc8:	7c bc                	jl     0x5b0b86
5b0bca:	8b 44 24 08          	mov    0x8(%esp),%eax
5b0bce:	01 44 24 04          	add    %eax,0x4(%esp)
5b0bd2:	ff 4c 24 0c          	decl   0xc(%esp)
5b0bd6:	75 9d                	jne    0x5b0b75
5b0bd8:	83 c4 10             	add    $0x10,%esp
5b0bdb:	5d                   	pop    %ebp
5b0bdc:	5f                   	pop    %edi
5b0bdd:	5e                   	pop    %esi
5b0bde:	5b                   	pop    %ebx
5b0bdf:	c3                   	ret
5b0be0:	53                   	push   %ebx
5b0be1:	56                   	push   %esi
5b0be2:	57                   	push   %edi
5b0be3:	55                   	push   %ebp
5b0be4:	83 c4 f0             	add    $0xfffffff0,%esp
5b0be7:	89 14 24             	mov    %edx,(%esp)
5b0bea:	8b d8                	mov    %eax,%ebx
5b0bec:	84 c9                	test   %cl,%cl
5b0bee:	74 10                	je     0x5b0c00
5b0bf0:	c7 44 24 08 01 00 00 	movl   $0x1,0x8(%esp)
5b0bf7:	00
5b0bf8:	33 c0                	xor    %eax,%eax
5b0bfa:	89 44 24 04          	mov    %eax,0x4(%esp)
5b0bfe:	eb 15                	jmp    0x5b0c15
5b0c00:	c7 44 24 08 ff ff ff 	movl   $0xffffffff,0x8(%esp)
5b0c07:	ff
5b0c08:	8b 04 24             	mov    (%esp),%eax
5b0c0b:	8b 10                	mov    (%eax),%edx
5b0c0d:	ff 52 08             	call   *0x8(%edx)
5b0c10:	48                   	dec    %eax
5b0c11:	89 44 24 04          	mov    %eax,0x4(%esp)
5b0c15:	8b eb                	mov    %ebx,%ebp
5b0c17:	8b 04 24             	mov    (%esp),%eax
5b0c1a:	8b 10                	mov    (%eax),%edx
5b0c1c:	ff 52 08             	call   *0x8(%edx)
5b0c1f:	48                   	dec    %eax
5b0c20:	85 c0                	test   %eax,%eax
5b0c22:	0f 8c 00 01 00 00    	jl     0x5b0d28
5b0c28:	40                   	inc    %eax
5b0c29:	89 44 24 0c          	mov    %eax,0xc(%esp)
5b0c2d:	8b 54 24 04          	mov    0x4(%esp),%edx
5b0c31:	8b 04 24             	mov    (%esp),%eax
5b0c34:	8b 08                	mov    (%eax),%ecx
5b0c36:	ff 11                	call   *(%ecx)
5b0c38:	8b f0                	mov    %eax,%esi
5b0c3a:	33 ff                	xor    %edi,%edi
5b0c3c:	e9 c4 00 00 00       	jmp    0x5b0d05
5b0c41:	8b dd                	mov    %ebp,%ebx
5b0c43:	56                   	push   %esi
5b0c44:	33 c9                	xor    %ecx,%ecx
5b0c46:	8a 4b 02             	mov    0x2(%ebx),%cl
5b0c49:	33 d2                	xor    %edx,%edx
5b0c4b:	8a 13                	mov    (%ebx),%dl
5b0c4d:	33 c0                	xor    %eax,%eax
5b0c4f:	8a 43 01             	mov    0x1(%ebx),%al
5b0c52:	e8 d5 fa ff ff       	call   0x5b072c
5b0c57:	83 c6 03             	add    $0x3,%esi
5b0c5a:	56                   	push   %esi
5b0c5b:	33 c9                	xor    %ecx,%ecx
5b0c5d:	8a 4b 02             	mov    0x2(%ebx),%cl
5b0c60:	33 d2                	xor    %edx,%edx
5b0c62:	8a 13                	mov    (%ebx),%dl
5b0c64:	33 c0                	xor    %eax,%eax
5b0c66:	8a 43 03             	mov    0x3(%ebx),%al
5b0c69:	e8 be fa ff ff       	call   0x5b072c
5b0c6e:	83 c6 03             	add    $0x3,%esi
5b0c71:	56                   	push   %esi
5b0c72:	33 c9                	xor    %ecx,%ecx
5b0c74:	8a 4b 02             	mov    0x2(%ebx),%cl
5b0c77:	33 d2                	xor    %edx,%edx
5b0c79:	8a 13                	mov    (%ebx),%dl
5b0c7b:	33 c0                	xor    %eax,%eax
5b0c7d:	8a 43 05             	mov    0x5(%ebx),%al
5b0c80:	e8 a7 fa ff ff       	call   0x5b072c
5b0c85:	83 c6 03             	add    $0x3,%esi
5b0c88:	56                   	push   %esi
5b0c89:	33 c9                	xor    %ecx,%ecx
5b0c8b:	8a 4b 02             	mov    0x2(%ebx),%cl
5b0c8e:	33 d2                	xor    %edx,%edx
5b0c90:	8a 13                	mov    (%ebx),%dl
5b0c92:	33 c0                	xor    %eax,%eax
5b0c94:	8a 43 07             	mov    0x7(%ebx),%al
5b0c97:	e8 90 fa ff ff       	call   0x5b072c
5b0c9c:	83 c6 03             	add    $0x3,%esi
5b0c9f:	56                   	push   %esi
5b0ca0:	33 c9                	xor    %ecx,%ecx
5b0ca2:	8a 4b 06             	mov    0x6(%ebx),%cl
5b0ca5:	33 d2                	xor    %edx,%edx
5b0ca7:	8a 53 04             	mov    0x4(%ebx),%dl
5b0caa:	33 c0                	xor    %eax,%eax
5b0cac:	8a 43 08             	mov    0x8(%ebx),%al
5b0caf:	e8 78 fa ff ff       	call   0x5b072c
5b0cb4:	83 c6 03             	add    $0x3,%esi
5b0cb7:	56                   	push   %esi
5b0cb8:	33 c9                	xor    %ecx,%ecx
5b0cba:	8a 4b 06             	mov    0x6(%ebx),%cl
5b0cbd:	33 d2                	xor    %edx,%edx
5b0cbf:	8a 53 04             	mov    0x4(%ebx),%dl
5b0cc2:	33 c0                	xor    %eax,%eax
5b0cc4:	8a 43 09             	mov    0x9(%ebx),%al
5b0cc7:	e8 60 fa ff ff       	call   0x5b072c
5b0ccc:	83 c6 03             	add    $0x3,%esi
5b0ccf:	56                   	push   %esi
5b0cd0:	33 c9                	xor    %ecx,%ecx
5b0cd2:	8a 4b 06             	mov    0x6(%ebx),%cl
5b0cd5:	33 d2                	xor    %edx,%edx
5b0cd7:	8a 53 04             	mov    0x4(%ebx),%dl
5b0cda:	33 c0                	xor    %eax,%eax
5b0cdc:	8a 43 0a             	mov    0xa(%ebx),%al
5b0cdf:	e8 48 fa ff ff       	call   0x5b072c
5b0ce4:	83 c6 03             	add    $0x3,%esi
5b0ce7:	56                   	push   %esi
5b0ce8:	33 c9                	xor    %ecx,%ecx
5b0cea:	8a 4b 06             	mov    0x6(%ebx),%cl
5b0ced:	33 d2                	xor    %edx,%edx
5b0cef:	8a 53 04             	mov    0x4(%ebx),%dl
5b0cf2:	33 c0                	xor    %eax,%eax
5b0cf4:	8a 43 0b             	mov    0xb(%ebx),%al
5b0cf7:	e8 30 fa ff ff       	call   0x5b072c
5b0cfc:	83 c6 03             	add    $0x3,%esi
5b0cff:	83 c7 08             	add    $0x8,%edi
5b0d02:	83 c5 0c             	add    $0xc,%ebp
5b0d05:	8b 04 24             	mov    (%esp),%eax
5b0d08:	8b 10                	mov    (%eax),%edx
5b0d0a:	ff 52 0c             	call   *0xc(%edx)
5b0d0d:	48                   	dec    %eax
5b0d0e:	3b f8                	cmp    %eax,%edi
5b0d10:	0f 8c 2b ff ff ff    	jl     0x5b0c41
5b0d16:	8b 44 24 08          	mov    0x8(%esp),%eax
5b0d1a:	01 44 24 04          	add    %eax,0x4(%esp)
5b0d1e:	ff 4c 24 0c          	decl   0xc(%esp)
5b0d22:	0f 85 05 ff ff ff    	jne    0x5b0c2d
5b0d28:	83 c4 10             	add    $0x10,%esp
5b0d2b:	5d                   	pop    %ebp
5b0d2c:	5f                   	pop    %edi
5b0d2d:	5e                   	pop    %esi
5b0d2e:	5b                   	pop    %ebx
5b0d2f:	c3                   	ret
5b0d30:	53                   	push   %ebx
5b0d31:	56                   	push   %esi
5b0d32:	57                   	push   %edi
5b0d33:	55                   	push   %ebp
5b0d34:	83 c4 f0             	add    $0xfffffff0,%esp
5b0d37:	89 14 24             	mov    %edx,(%esp)
5b0d3a:	8b d8                	mov    %eax,%ebx
5b0d3c:	84 c9                	test   %cl,%cl
5b0d3e:	74 10                	je     0x5b0d50
5b0d40:	c7 44 24 08 01 00 00 	movl   $0x1,0x8(%esp)
5b0d47:	00
5b0d48:	33 c0                	xor    %eax,%eax
5b0d4a:	89 44 24 04          	mov    %eax,0x4(%esp)
5b0d4e:	eb 15                	jmp    0x5b0d65
5b0d50:	c7 44 24 08 ff ff ff 	movl   $0xffffffff,0x8(%esp)
5b0d57:	ff
5b0d58:	8b 04 24             	mov    (%esp),%eax
5b0d5b:	8b 10                	mov    (%eax),%edx
5b0d5d:	ff 52 08             	call   *0x8(%edx)
5b0d60:	48                   	dec    %eax
5b0d61:	89 44 24 04          	mov    %eax,0x4(%esp)
5b0d65:	8b eb                	mov    %ebx,%ebp
5b0d67:	8b 04 24             	mov    (%esp),%eax
5b0d6a:	8b 10                	mov    (%eax),%edx
5b0d6c:	ff 52 08             	call   *0x8(%edx)
5b0d6f:	48                   	dec    %eax
5b0d70:	85 c0                	test   %eax,%eax
5b0d72:	0f 8c 9b 00 00 00    	jl     0x5b0e13
5b0d78:	40                   	inc    %eax
5b0d79:	89 44 24 0c          	mov    %eax,0xc(%esp)
5b0d7d:	8b 54 24 04          	mov    0x4(%esp),%edx
5b0d81:	8b 04 24             	mov    (%esp),%eax
5b0d84:	8b 08                	mov    (%eax),%ecx
5b0d86:	ff 11                	call   *(%ecx)
5b0d88:	8b f0                	mov    %eax,%esi
5b0d8a:	33 ff                	xor    %edi,%edi
5b0d8c:	eb 66                	jmp    0x5b0df4
5b0d8e:	8b dd                	mov    %ebp,%ebx
5b0d90:	56                   	push   %esi
5b0d91:	33 c9                	xor    %ecx,%ecx
5b0d93:	8a 4b 03             	mov    0x3(%ebx),%cl
5b0d96:	33 d2                	xor    %edx,%edx
5b0d98:	8a 53 01             	mov    0x1(%ebx),%dl
5b0d9b:	33 c0                	xor    %eax,%eax
5b0d9d:	8a 03                	mov    (%ebx),%al
5b0d9f:	e8 88 f9 ff ff       	call   0x5b072c
5b0da4:	83 c6 03             	add    $0x3,%esi
5b0da7:	56                   	push   %esi
5b0da8:	33 c9                	xor    %ecx,%ecx
5b0daa:	8a 4b 03             	mov    0x3(%ebx),%cl
5b0dad:	33 d2                	xor    %edx,%edx
5b0daf:	8a 53 01             	mov    0x1(%ebx),%dl
5b0db2:	33 c0                	xor    %eax,%eax
5b0db4:	8a 03                	mov    (%ebx),%al
5b0db6:	e8 71 f9 ff ff       	call   0x5b072c
5b0dbb:	83 c6 03             	add    $0x3,%esi
5b0dbe:	56                   	push   %esi
5b0dbf:	33 c9                	xor    %ecx,%ecx
5b0dc1:	8a 4b 03             	mov    0x3(%ebx),%cl
5b0dc4:	33 d2                	xor    %edx,%edx
5b0dc6:	8a 53 01             	mov    0x1(%ebx),%dl
5b0dc9:	33 c0                	xor    %eax,%eax
5b0dcb:	8a 43 02             	mov    0x2(%ebx),%al
5b0dce:	e8 59 f9 ff ff       	call   0x5b072c
5b0dd3:	83 c6 03             	add    $0x3,%esi
5b0dd6:	56                   	push   %esi
5b0dd7:	33 c9                	xor    %ecx,%ecx
5b0dd9:	8a 4b 03             	mov    0x3(%ebx),%cl
5b0ddc:	33 d2                	xor    %edx,%edx
5b0dde:	8a 53 01             	mov    0x1(%ebx),%dl
5b0de1:	33 c0                	xor    %eax,%eax
5b0de3:	8a 43 02             	mov    0x2(%ebx),%al
5b0de6:	e8 41 f9 ff ff       	call   0x5b072c
5b0deb:	83 c6 03             	add    $0x3,%esi
5b0dee:	83 c7 04             	add    $0x4,%edi
5b0df1:	83 c5 04             	add    $0x4,%ebp
5b0df4:	8b 04 24             	mov    (%esp),%eax
5b0df7:	8b 10                	mov    (%eax),%edx
5b0df9:	ff 52 0c             	call   *0xc(%edx)
5b0dfc:	48                   	dec    %eax
5b0dfd:	3b f8                	cmp    %eax,%edi
5b0dff:	7c 8d                	jl     0x5b0d8e
5b0e01:	8b 44 24 08          	mov    0x8(%esp),%eax
5b0e05:	01 44 24 04          	add    %eax,0x4(%esp)
5b0e09:	ff 4c 24 0c          	decl   0xc(%esp)
5b0e0d:	0f 85 6a ff ff ff    	jne    0x5b0d7d
5b0e13:	83 c4 10             	add    $0x10,%esp
5b0e16:	5d                   	pop    %ebp
5b0e17:	5f                   	pop    %edi
5b0e18:	5e                   	pop    %esi
5b0e19:	5b                   	pop    %ebx
5b0e1a:	c3                   	ret
5b0e1b:	90                   	nop
5b0e1c:	53                   	push   %ebx
5b0e1d:	56                   	push   %esi
5b0e1e:	57                   	push   %edi
5b0e1f:	55                   	push   %ebp
5b0e20:	83 c4 ec             	add    $0xffffffec,%esp
5b0e23:	89 14 24             	mov    %edx,(%esp)
5b0e26:	8b d8                	mov    %eax,%ebx
5b0e28:	84 c9                	test   %cl,%cl
5b0e2a:	74 10                	je     0x5b0e3c
5b0e2c:	c7 44 24 0c 01 00 00 	movl   $0x1,0xc(%esp)
5b0e33:	00
5b0e34:	33 c0                	xor    %eax,%eax
5b0e36:	89 44 24 04          	mov    %eax,0x4(%esp)
5b0e3a:	eb 15                	jmp    0x5b0e51
5b0e3c:	c7 44 24 0c ff ff ff 	movl   $0xffffffff,0xc(%esp)
5b0e43:	ff
5b0e44:	8b 04 24             	mov    (%esp),%eax
5b0e47:	8b 10                	mov    (%eax),%edx
5b0e49:	ff 52 08             	call   *0x8(%edx)
5b0e4c:	48                   	dec    %eax
5b0e4d:	89 44 24 04          	mov    %eax,0x4(%esp)
5b0e51:	8b f3                	mov    %ebx,%esi
5b0e53:	8b 04 24             	mov    (%esp),%eax
5b0e56:	8b 10                	mov    (%eax),%edx
5b0e58:	ff 52 08             	call   *0x8(%edx)
5b0e5b:	48                   	dec    %eax
5b0e5c:	85 c0                	test   %eax,%eax
5b0e5e:	0f 8c a4 00 00 00    	jl     0x5b0f08
5b0e64:	40                   	inc    %eax
5b0e65:	89 44 24 10          	mov    %eax,0x10(%esp)
5b0e69:	8b 54 24 04          	mov    0x4(%esp),%edx
5b0e6d:	8b 04 24             	mov    (%esp),%eax
5b0e70:	8b 08                	mov    (%eax),%ecx
5b0e72:	ff 11                	call   *(%ecx)
5b0e74:	8b d8                	mov    %eax,%ebx
5b0e76:	33 c0                	xor    %eax,%eax
5b0e78:	89 44 24 08          	mov    %eax,0x8(%esp)
5b0e7c:	eb 69                	jmp    0x5b0ee7
5b0e7e:	8b 06                	mov    (%esi),%eax
5b0e80:	8b e8                	mov    %eax,%ebp
5b0e82:	83 e5 3f             	and    $0x3f,%ebp
5b0e85:	8b f8                	mov    %eax,%edi
5b0e87:	c1 ef 06             	shr    $0x6,%edi
5b0e8a:	83 e7 3f             	and    $0x3f,%edi
5b0e8d:	53                   	push   %ebx
5b0e8e:	c1 e8 0c             	shr    $0xc,%eax
5b0e91:	83 e0 1f             	and    $0x1f,%eax
5b0e94:	8b cd                	mov    %ebp,%ecx
5b0e96:	8b d7                	mov    %edi,%edx
5b0e98:	e8 8f f8 ff ff       	call   0x5b072c
5b0e9d:	83 c3 03             	add    $0x3,%ebx
5b0ea0:	53                   	push   %ebx
5b0ea1:	8b 06                	mov    (%esi),%eax
5b0ea3:	c1 e8 11             	shr    $0x11,%eax
5b0ea6:	83 e0 1f             	and    $0x1f,%eax
5b0ea9:	8b cd                	mov    %ebp,%ecx
5b0eab:	8b d7                	mov    %edi,%edx
5b0ead:	e8 7a f8 ff ff       	call   0x5b072c
5b0eb2:	83 c3 03             	add    $0x3,%ebx
5b0eb5:	53                   	push   %ebx
5b0eb6:	8b 06                	mov    (%esi),%eax
5b0eb8:	c1 e8 16             	shr    $0x16,%eax