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
5b0ebb:	83 e0 1f             	and    $0x1f,%eax
5b0ebe:	8b cd                	mov    %ebp,%ecx
5b0ec0:	8b d7                	mov    %edi,%edx
5b0ec2:	e8 65 f8 ff ff       	call   0x5b072c
5b0ec7:	83 c3 03             	add    $0x3,%ebx
5b0eca:	53                   	push   %ebx
5b0ecb:	8b 06                	mov    (%esi),%eax
5b0ecd:	c1 e8 1b             	shr    $0x1b,%eax
5b0ed0:	83 e0 1f             	and    $0x1f,%eax
5b0ed3:	8b cd                	mov    %ebp,%ecx
5b0ed5:	8b d7                	mov    %edi,%edx
5b0ed7:	e8 50 f8 ff ff       	call   0x5b072c
5b0edc:	83 c3 03             	add    $0x3,%ebx
5b0edf:	83 44 24 08 04       	addl   $0x4,0x8(%esp)
5b0ee4:	83 c6 04             	add    $0x4,%esi
5b0ee7:	8b 04 24             	mov    (%esp),%eax
5b0eea:	8b 10                	mov    (%eax),%edx
5b0eec:	ff 52 0c             	call   *0xc(%edx)
5b0eef:	48                   	dec    %eax
5b0ef0:	3b 44 24 08          	cmp    0x8(%esp),%eax
5b0ef4:	7f 88                	jg     0x5b0e7e
5b0ef6:	8b 44 24 0c          	mov    0xc(%esp),%eax
5b0efa:	01 44 24 04          	add    %eax,0x4(%esp)
5b0efe:	ff 4c 24 10          	decl   0x10(%esp)
5b0f02:	0f 85 61 ff ff ff    	jne    0x5b0e69
5b0f08:	83 c4 14             	add    $0x14,%esp
5b0f0b:	5d                   	pop    %ebp
5b0f0c:	5f                   	pop    %edi
5b0f0d:	5e                   	pop    %esi
5b0f0e:	5b                   	pop    %ebx
5b0f0f:	c3                   	ret
5b0f10:	53                   	push   %ebx
5b0f11:	56                   	push   %esi
5b0f12:	57                   	push   %edi
5b0f13:	55                   	push   %ebp
5b0f14:	83 c4 e4             	add    $0xffffffe4,%esp
5b0f17:	89 14 24             	mov    %edx,(%esp)
5b0f1a:	8b d8                	mov    %eax,%ebx
5b0f1c:	84 c9                	test   %cl,%cl
5b0f1e:	74 10                	je     0x5b0f30
5b0f20:	c7 44 24 14 01 00 00 	movl   $0x1,0x14(%esp)
5b0f27:	00
5b0f28:	33 c0                	xor    %eax,%eax
5b0f2a:	89 44 24 04          	mov    %eax,0x4(%esp)
5b0f2e:	eb 15                	jmp    0x5b0f45
5b0f30:	c7 44 24 14 ff ff ff 	movl   $0xffffffff,0x14(%esp)
5b0f37:	ff
5b0f38:	8b 04 24             	mov    (%esp),%eax
5b0f3b:	8b 10                	mov    (%eax),%edx
5b0f3d:	ff 52 08             	call   *0x8(%edx)
5b0f40:	48                   	dec    %eax
5b0f41:	89 44 24 04          	mov    %eax,0x4(%esp)
5b0f45:	8b f3                	mov    %ebx,%esi
5b0f47:	8b 04 24             	mov    (%esp),%eax
5b0f4a:	8b 10                	mov    (%eax),%edx
5b0f4c:	ff 52 08             	call   *0x8(%edx)
5b0f4f:	8b f8                	mov    %eax,%edi
5b0f51:	8b 04 24             	mov    (%esp),%eax
5b0f54:	8b 10                	mov    (%eax),%edx
5b0f56:	ff 52 0c             	call   *0xc(%edx)
5b0f59:	0f af f8             	imul   %eax,%edi
5b0f5c:	03 fb                	add    %ebx,%edi
5b0f5e:	89 7c 24 08          	mov    %edi,0x8(%esp)
5b0f62:	8b 04 24             	mov    (%esp),%eax
5b0f65:	8b 10                	mov    (%eax),%edx
5b0f67:	ff 52 08             	call   *0x8(%edx)
5b0f6a:	8b f8                	mov    %eax,%edi
5b0f6c:	8b 04 24             	mov    (%esp),%eax
5b0f6f:	8b 10                	mov    (%eax),%edx
5b0f71:	ff 52 0c             	call   *0xc(%edx)
5b0f74:	0f af f8             	imul   %eax,%edi
5b0f77:	03 fb                	add    %ebx,%edi
5b0f79:	8b 04 24             	mov    (%esp),%eax
5b0f7c:	8b 10                	mov    (%eax),%edx
5b0f7e:	ff 52 08             	call   *0x8(%edx)
5b0f81:	8b d8                	mov    %eax,%ebx
5b0f83:	85 db                	test   %ebx,%ebx
5b0f85:	79 03                	jns    0x5b0f8a
5b0f87:	83 c3 03             	add    $0x3,%ebx
5b0f8a:	c1 fb 02             	sar    $0x2,%ebx
5b0f8d:	8b 04 24             	mov    (%esp),%eax
5b0f90:	8b 10                	mov    (%eax),%edx
5b0f92:	ff 52 0c             	call   *0xc(%edx)
5b0f95:	85 c0                	test   %eax,%eax
5b0f97:	79 03                	jns    0x5b0f9c
5b0f99:	83 c0 03             	add    $0x3,%eax
5b0f9c:	c1 f8 02             	sar    $0x2,%eax
5b0f9f:	0f af d8             	imul   %eax,%ebx
5b0fa2:	03 fb                	add    %ebx,%edi
5b0fa4:	8b 04 24             	mov    (%esp),%eax
5b0fa7:	8b 10                	mov    (%eax),%edx
5b0fa9:	ff 52 08             	call   *0x8(%edx)
5b0fac:	48                   	dec    %eax
5b0fad:	85 c0                	test   %eax,%eax
5b0faf:	0f 8c d1 00 00 00    	jl     0x5b1086
5b0fb5:	40                   	inc    %eax
5b0fb6:	89 44 24 18          	mov    %eax,0x18(%esp)
5b0fba:	8b 54 24 04          	mov    0x4(%esp),%edx
5b0fbe:	8b 04 24             	mov    (%esp),%eax
5b0fc1:	8b 08                	mov    (%eax),%ecx
5b0fc3:	ff 11                	call   *(%ecx)
5b0fc5:	8b d8                	mov    %eax,%ebx
5b0fc7:	33 ed                	xor    %ebp,%ebp
5b0fc9:	8b 44 24 08          	mov    0x8(%esp),%eax
5b0fcd:	89 44 24 10          	mov    %eax,0x10(%esp)
5b0fd1:	89 7c 24 0c          	mov    %edi,0xc(%esp)
5b0fd5:	eb 70                	jmp    0x5b1047
5b0fd7:	53                   	push   %ebx
5b0fd8:	8b 44 24 0c          	mov    0xc(%esp),%eax
5b0fdc:	33 c9                	xor    %ecx,%ecx
5b0fde:	8a 08                	mov    (%eax),%cl
5b0fe0:	33 d2                	xor    %edx,%edx
5b0fe2:	8a 17                	mov    (%edi),%dl
5b0fe4:	33 c0                	xor    %eax,%eax
5b0fe6:	8a 06                	mov    (%esi),%al
5b0fe8:	e8 3f f7 ff ff       	call   0x5b072c
5b0fed:	83 c3 03             	add    $0x3,%ebx
5b0ff0:	46                   	inc    %esi
5b0ff1:	53                   	push   %ebx
5b0ff2:	8b 44 24 0c          	mov    0xc(%esp),%eax
5b0ff6:	33 c9                	xor    %ecx,%ecx
5b0ff8:	8a 08                	mov    (%eax),%cl
5b0ffa:	33 d2                	xor    %edx,%edx
5b0ffc:	8a 17                	mov    (%edi),%dl
5b0ffe:	33 c0                	xor    %eax,%eax
5b1000:	8a 06                	mov    (%esi),%al
5b1002:	e8 25 f7 ff ff       	call   0x5b072c
5b1007:	83 c3 03             	add    $0x3,%ebx
5b100a:	46                   	inc    %esi
5b100b:	53                   	push   %ebx
5b100c:	8b 44 24 0c          	mov    0xc(%esp),%eax
5b1010:	33 c9                	xor    %ecx,%ecx
5b1012:	8a 08                	mov    (%eax),%cl
5b1014:	33 d2                	xor    %edx,%edx
5b1016:	8a 17                	mov    (%edi),%dl
5b1018:	33 c0                	xor    %eax,%eax
5b101a:	8a 06                	mov    (%esi),%al
5b101c:	e8 0b f7 ff ff       	call   0x5b072c
5b1021:	83 c3 03             	add    $0x3,%ebx
5b1024:	46                   	inc    %esi
5b1025:	53                   	push   %ebx
5b1026:	8b 44 24 0c          	mov    0xc(%esp),%eax
5b102a:	33 c9                	xor    %ecx,%ecx
5b102c:	8a 08                	mov    (%eax),%cl
5b102e:	33 d2                	xor    %edx,%edx
5b1030:	8a 17                	mov    (%edi),%dl
5b1032:	33 c0                	xor    %eax,%eax
5b1034:	8a 06                	mov    (%esi),%al
5b1036:	e8 f1 f6 ff ff       	call   0x5b072c
5b103b:	83 c3 03             	add    $0x3,%ebx
5b103e:	46                   	inc    %esi
5b103f:	47                   	inc    %edi
5b1040:	ff 44 24 08          	incl   0x8(%esp)
5b1044:	83 c5 04             	add    $0x4,%ebp
5b1047:	8b 04 24             	mov    (%esp),%eax
5b104a:	8b 10                	mov    (%eax),%edx
5b104c:	ff 52 0c             	call   *0xc(%edx)
5b104f:	48                   	dec    %eax
5b1050:	3b e8                	cmp    %eax,%ebp
5b1052:	7c 83                	jl     0x5b0fd7
5b1054:	8b 44 24 14          	mov    0x14(%esp),%eax
5b1058:	01 44 24 04          	add    %eax,0x4(%esp)
5b105c:	8b 44 24 04          	mov    0x4(%esp),%eax
5b1060:	25 03 00 00 80       	and    $0x80000003,%eax
5b1065:	79 05                	jns    0x5b106c
5b1067:	48                   	dec    %eax
5b1068:	83 c8 fc             	or     $0xfffffffc,%eax
5b106b:	40                   	inc    %eax
5b106c:	85 c0                	test   %eax,%eax
5b106e:	74 0c                	je     0x5b107c
5b1070:	8b 44 24 10          	mov    0x10(%esp),%eax
5b1074:	89 44 24 08          	mov    %eax,0x8(%esp)
5b1078:	8b 7c 24 0c          	mov    0xc(%esp),%edi
5b107c:	ff 4c 24 18          	decl   0x18(%esp)
5b1080:	0f 85 34 ff ff ff    	jne    0x5b0fba